private void Apply(ContentPartFieldDefinition model, ContentPartFieldDefinitionRecord record) { record.Settings = Compose(_settingsFormatter.Map(model.Settings)); }
ContentPartFieldDefinition Build(ContentPartFieldDefinitionRecord source) { return new ContentPartFieldDefinition( Build(source.ContentFieldDefinitionRecord), source.Name, _settingsFormatter.Map(Parse(source.Settings))); }
private void Apply(ContentPartDefinition model, ContentPartDefinitionRecord record) { record.Settings = _settingsFormatter.Map(model.Settings).ToString(); var toRemove = record.ContentPartFieldDefinitionRecords .Where(partFieldDefinitionRecord => model.Fields.All(partField => partFieldDefinitionRecord.Name != partField.Name)) .ToList(); foreach (var remove in toRemove) { record.ContentPartFieldDefinitionRecords.Remove(remove); } foreach (var field in model.Fields) { var fieldName = field.Name; var partFieldRecord = record.ContentPartFieldDefinitionRecords.SingleOrDefault(r => r.Name == fieldName); if (partFieldRecord == null) { partFieldRecord = new ContentPartFieldDefinitionRecord { ContentFieldDefinitionRecord = Acquire(field.FieldDefinition), Name = field.Name }; record.ContentPartFieldDefinitionRecords.Add(partFieldRecord); } Apply(field, partFieldRecord); } }