private void Apply(ContentTypeDefinition model, ContentTypeDefinitionRecord record) { record.DisplayName = model.DisplayName; record.Settings = model.Settings; var toRemove = record.ContentTypePartDefinitionRecords .Where(typePartDefinitionRecord => !model.Parts.Any(part => typePartDefinitionRecord.Name == part.Name)) .ToList(); foreach (var remove in toRemove) { record.ContentTypePartDefinitionRecords.Remove(remove); } foreach (var part in model.Parts) { var typePartRecord = record.ContentTypePartDefinitionRecords.FirstOrDefault(r => r.Name == part.Name); if (typePartRecord == null) { typePartRecord = new ContentTypePartDefinitionRecord { PartName = part.PartDefinition.Name, Name = part.Name, Settings = part.Settings }; record.ContentTypePartDefinitionRecords.Add(typePartRecord); } Apply(part, typePartRecord); } }
private void Apply(ContentTypeDefinition model, ContentTypeDefinitionRecord record) { record.DisplayName = model.DisplayName; record.Settings = _settingsFormatter.Map(model.Settings).ToString(); var toRemove = record.ContentTypePartDefinitionRecords .Where(partDefinitionRecord => model.Parts.All(part => partDefinitionRecord.ContentPartDefinitionRecord.Name != part.PartDefinition.Name)) .ToList(); foreach (var remove in toRemove) { record.ContentTypePartDefinitionRecords.Remove(remove); } foreach (var part in model.Parts) { var partName = part.PartDefinition.Name; var typePartRecord = record.ContentTypePartDefinitionRecords.SingleOrDefault(r => r.ContentPartDefinitionRecord.Name == partName); if (typePartRecord == null) { typePartRecord = new ContentTypePartDefinitionRecord { ContentPartDefinitionRecord = Acquire(part.PartDefinition) }; record.ContentTypePartDefinitionRecords.Add(typePartRecord); } Apply(part, typePartRecord); } }
private void Apply(ContentTypeDefinition model, ContentTypeDefinitionRecord record) { record.DisplayName = model.DisplayName; record.Settings = JsonConvert.SerializeObject(model.Settings); var toRemove = record.ContentTypePartDefinitionRecords .Where(partDefinitionRecord => !model.Parts.Any(part => partDefinitionRecord.ContentPartDefinitionRecord.Name == part.PartDefinition.Name)) .ToList(); foreach (var remove in toRemove) { record.ContentTypePartDefinitionRecords.Remove(remove); } foreach (var part in model.Parts) { var partName = part.PartDefinition.Name; var typePartRecord = record.ContentTypePartDefinitionRecords.SingleOrDefault(r => r.ContentPartDefinitionRecord.Name == partName); if (typePartRecord == null) { typePartRecord = new ContentTypePartDefinitionRecord { ContentPartDefinitionRecord = Acquire(part.PartDefinition) }; record.ContentTypePartDefinitionRecords.Add(typePartRecord); } Apply(part, typePartRecord); } }
ContentTypeDefinition Build(ContentTypeDefinitionRecord source) { return(new ContentTypeDefinition( source.Name, source.DisplayName, source.ContentTypePartDefinitionRecords.Select(Build), _settingsFormatter.Map(Parse(source.Settings)))); }
ContentTypeDefinition Build(ContentTypeDefinitionRecord source) { return(source == null ? null : new ContentTypeDefinition( source.Name, source.DisplayName, source.ContentTypePartDefinitionRecords.Select(Build), JsonConvert.DeserializeObject <SettingsDictionary>(source.Settings ?? "{ }"))); }
ContentTypeDefinition Build(ContentTypeDefinitionRecord source) { return(source == null ? null : new ContentTypeDefinition( source.Name, source.DisplayName, source.ContentTypePartDefinitionRecords.Select(Build), source.Settings)); }
private ContentTypeDefinitionRecord Acquire(ContentTypeDefinition contentTypeDefinition) { var result = GetContentDefinitionRecord().ContentTypeDefinitionRecords.FirstOrDefault(x => x.Name == contentTypeDefinition.Name); if (result == null) { result = new ContentTypeDefinitionRecord { Name = contentTypeDefinition.Name, DisplayName = contentTypeDefinition.DisplayName }; GetContentDefinitionRecord().ContentTypeDefinitionRecords.Add(result); } return(result); }
private ContentTypeDefinitionRecord Acquire(ContentTypeDefinition contentTypeDefinition) { var result = _typeDefinitionRepository.Table.SingleOrDefault(x => x.Name == contentTypeDefinition.Name); if (result == null) { result = new ContentTypeDefinitionRecord { Name = contentTypeDefinition.Name, DisplayName = contentTypeDefinition.DisplayName }; _typeDefinitionRepository.Create(result); } return(result); }
ContentTypeDefinition Build(ContentTypeDefinitionRecord source) { if (source == null) { return(null); } var contentTypeDefinition = new ContentTypeDefinition( source.Name, source.DisplayName, source.ContentTypePartDefinitionRecords.Select(Build), source.Settings); return(contentTypeDefinition); }
private ContentTypeDefinitionRecord Acquire(ContentTypeDefinition contentTypeDefinition) { var result = _contentStorageManager .Query <ContentTypeDefinitionRecord>(x => x.Name == contentTypeDefinition.Name) .SingleOrDefault(); if (result == null) { result = new ContentTypeDefinitionRecord { Name = contentTypeDefinition.Name, DisplayName = contentTypeDefinition.DisplayName }; _contentStorageManager.Store(result); } return(result); }
ContentTypeDefinition Build(ContentTypeDefinitionRecord source, IList <ContentPartDefinitionRecord> partDefinitionRecords) { if (source == null) { return(null); } var contentTypeDefinition = new ContentTypeDefinition( source.Name, source.DisplayName, source.ContentTypePartDefinitionRecords.Select(tp => Build(tp, partDefinitionRecords.FirstOrDefault(p => p.Name == tp.PartName))), source.Settings); return(contentTypeDefinition); }
private void AlterContentType(ContentTypeDefinitionRecord record) { _contentDefinitionManager.AlterTypeDefinition(record.Name, builder => { if (!String.IsNullOrEmpty(record.DisplayName)) { builder.DisplayedAs(record.DisplayName); builder.MergeSettings(record.Settings); } foreach (var part in record.ContentTypePartDefinitionRecords) { builder.WithPart(part.Name, part.PartName, partBuilder => partBuilder.MergeSettings(part.Settings)); } }); }