Exemple #1
0
 public AssociationSettingsPersistable ToPersistable()
 {
     return(new AssociationSettingsPersistable
     {
         SpecializationTypeId = this.Id,
         SpecializationType = this.Name,
         SourceEnd = new AssociationEndSettingsPersistable
         {
             SpecializationTypeId = this.SourceEnd.Id,
             SpecializationType = this.SourceEnd.Name,
             DisplayFunction = this.SourceEnd.GetSettings().DisplayTextFunction(),
             Icon = this.SourceEnd.GetSettings().Icon().ToPersistable(),
             TypeReferenceSetting = new TypeReferenceSettingPersistable()
             {
                 TargetTypes = this.SourceEnd.GetSettings().TargetTypes().Select(t => t.Name).ToArray(),
                 IsCollectionDefault = this.SourceEnd.GetSettings().IsCollectionDefault(),
                 AllowIsCollection = this.SourceEnd.GetSettings().IsCollectionEnabled(),
                 IsNavigableDefault = this.SourceEnd.GetSettings().IsNavigableDefault(),
                 AllowIsNavigable = this.SourceEnd.GetSettings().IsNavigableEnabled(),
                 IsNullableDefault = this.SourceEnd.GetSettings().IsNullableDefault(),
                 AllowIsNullable = this.SourceEnd.GetSettings().IsNullableEnabled()
             }
         },
         TargetEnd = new AssociationEndSettingsPersistable
         {
             SpecializationTypeId = this.TargetEnd.Id,
             SpecializationType = this.TargetEnd.Name,
             DisplayFunction = this.TargetEnd.GetSettings().DisplayTextFunction(),
             Icon = this.TargetEnd.GetSettings().Icon().ToPersistable(),
             TypeReferenceSetting = new TypeReferenceSettingPersistable()
             {
                 TargetTypes = this.TargetEnd.GetSettings().TargetTypes().Select(t => t.Name).ToArray(),
                 IsCollectionDefault = this.TargetEnd.GetSettings().IsCollectionDefault(),
                 AllowIsCollection = this.TargetEnd.GetSettings().IsCollectionEnabled(),
                 IsNavigableDefault = this.TargetEnd.GetSettings().IsNavigableDefault(),
                 AllowIsNavigable = this.TargetEnd.GetSettings().IsNavigableEnabled(),
                 IsNullableDefault = this.TargetEnd.GetSettings().IsNullableDefault(),
                 AllowIsNullable = this.TargetEnd.GetSettings().IsNullableEnabled()
             }
         },
         VisualSettings = VisualSettings?.ToPersistable()
     });
 }