Beispiel #1
0
        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);
            }

            // Persist changes
            UpdateContentDefinitionRecord();
        }
        private void Apply(ContentTypeDefinition model, ContentTypeDefinitionRecord record)
        {
            record.DisplayName = model.DisplayName;
            record.Settings    = Compose(_settingsFormatter.Map(model.Settings));

            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)
        {
            var toRemove = _typePartDefinitionRecord.Table.Where(p => p.TypeName == model.Name).ToList().Where(p =>
                                                                                                               model.Parts.All(part => p.PartName != part.PartName))
                           .ToList();

            foreach (var remove in toRemove)
            {
                _typePartDefinitionRecord.Delete(remove);
            }

            foreach (var part in model.Parts.Where(x => !string.IsNullOrEmpty(x.PartName)))
            {
                var partName       = part.PartName;
                var typePartRecord = _typePartDefinitionRecord.Table.SingleOrDefault(r => r.TypeName == model.Name && r.PartName == partName);
                if (typePartRecord == null)
                {
                    typePartRecord = new ContentTypePartDefinitionRecord {
                        PartName = partName, TypeName = model.Name, Ord = part.Index
                    };
                    _typePartDefinitionRecord.Create(typePartRecord);
                }
                else
                {
                    typePartRecord.Ord = part.Index;
                }
            }
        }
        ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source)
        {
            var cpd = new ContentTypePartDefinition(source.PartName);

            cpd.Index = source.Ord;
            return(cpd);
        }
 ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source, ContentPartDefinitionRecord partDefinitionRecord)
 {
     return(source == null ? null : new ContentTypePartDefinition(
                source.Name,
                Build(partDefinitionRecord) ?? new ContentPartDefinition(source.PartName, Enumerable.Empty <ContentPartFieldDefinition>(), new JObject()),
                source.Settings));
 }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
        ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source)
        {
            var partDefinitionRecord = GetContentDefinitionRecord().ContentPartDefinitionRecords.FirstOrDefault(x => x.Name == source.Name);

            return(source == null ? null : new ContentTypePartDefinition(
                       Build(partDefinitionRecord) ?? new ContentPartDefinition(source.Name, Enumerable.Empty <ContentPartFieldDefinition>(), new Newtonsoft.Json.Linq.JObject()),
                       source.Settings));
        }
Beispiel #8
0
 private void Apply(ContentTypePartDefinition model, ContentTypePartDefinitionRecord record)
 {
     record.Settings = model.Settings;
 }
 ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source)
 {
     return(new ContentTypePartDefinition(
                Build(source.ContentPartDefinitionRecord),
                _settingsFormatter.Map(Parse(source.Settings))));
 }
 private void Apply(ContentTypePartDefinition model, ContentTypePartDefinitionRecord record)
 {
     record.Settings = Compose(_settingsFormatter.Map(model.Settings));
 }
Beispiel #11
0
 ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source)
 {
     return(source == null ? null : new ContentTypePartDefinition(
                Build(source.ContentPartDefinitionRecord),
                JsonConvert.DeserializeObject <SettingsDictionary>(source.Settings ?? "{ }")));
 }
Beispiel #12
0
 private void Apply(ContentTypePartDefinition model, ContentTypePartDefinitionRecord record)
 {
     record.Settings = JsonConvert.SerializeObject(model.Settings);
 }
 ContentTypePartDefinition Build(ContentTypePartDefinitionRecord source)
 {
     return(source == null ? null : new ContentTypePartDefinition(
                Build(source.ContentPartDefinitionRecord),
                source.Settings));
 }