using System.Linq; using Stylelabs.M.Sdk.Models.Base.PropertyDefinitions; var _triggerTextAnalysisKey = "TriggerTextAnalysis"; MClient.Logger.Info($"Execute content check for entity {Context.TargetId.Value}"); var contentEntity = Context.Target as IEntity; var contentEntityDefinition = await MClient.EntityDefinitions.GetAsync(contentEntity.DefinitionName).ConfigureAwait(false); var contentGroup = contentEntityDefinition.MemberGroups.FirstOrDefault(mg => string.Equals(mg.ContentGroup, "Content", StringComparison.OrdinalIgnoreCase)); var contentProperties = contentGroup.MemberDefinitions.OfType().Select(cp => cp.Name); var dirtyProperties = Context.ChangeTracker.GetDirtyProperties(); var dirtyContentProperties = dirtyProperties.Where(entityProperty => contentProperties.Contains(entityProperty.Name)); if (dirtyContentProperties.Any()) { Context.PropertyBag.Add(_triggerTextAnalysisKey, "True"); MClient.Logger.Info($"Changes detected in the content of entity {Context.TargetId.Value}"); }