예제 #1
0
        public bool TryUpdate(out ContentData result)
        {
            result = contentData;

            if (isChanged)
            {
                if (fieldsToDelete != null)
                {
                    foreach (var field in fieldsToDelete)
                    {
                        contentData.Remove(field);
                    }
                }

                if (fieldProperties != null)
                {
                    foreach (var(key, propertyDescriptor) in fieldProperties)
                    {
                        var value = (ContentDataProperty)propertyDescriptor;

                        if (value.ContentField != null && value.ContentField.TryUpdate(out var fieldData))
                        {
                            contentData[key] = fieldData;
                        }
                    }
                }
            }

            return(isChanged);
        }