private void InitializeFieldValidators(IMetaEntity metaEntity) { IFieldValidator fieldValidator = GetFieldValidator <string>(nameof(IMetaEntity.InterfaceName)); InterfaceNameFieldItemViewModel = TextBoxFieldItemViewModel.Create(fieldValidator, Entity, metaEntity.InterfaceName); EditableItemsFields.Add(InterfaceNameFieldItemViewModel); fieldValidator = GetFieldValidator <string>(nameof(IMetaEntity.Label)); LabelFieldItemViewModel = TextBoxFieldItemViewModel.Create(fieldValidator, Entity, metaEntity.Label); EditableItemsFields.Add(LabelFieldItemViewModel); fieldValidator = GetFieldValidator <string>(nameof(IMetaEntity.PlurialLabel)); PlurialLabelFieldItemViewModel = TextBoxFieldItemViewModel.Create(fieldValidator, Entity, metaEntity.PlurialLabel); EditableItemsFields.Add(PlurialLabelFieldItemViewModel); fieldValidator = GetFieldValidator <bool?>(nameof(IMetaEntity.IsMasculine)); IsMasculineFieldItemViewModel = CheckBoxFieldItemViewModel.Create(fieldValidator, Entity, metaEntity.IsMasculine); EditableItemsFields.Add(IsMasculineFieldItemViewModel); fieldValidator = GetFieldValidator <string>(nameof(IMetaEntity.Description)); DescriptionFieldItemViewModel = TextBoxFieldItemViewModel.Create(fieldValidator, Entity, metaEntity.Description); EditableItemsFields.Add(DescriptionFieldItemViewModel); var metaField = ModelFactory.CreateMetaField( "MetaFieldTemplate", "Ajouter un méta-champ", "Choisissez un model de méta champ"); var metaFieldTemplates = MetaDataService.GetMetaFieldTemplates().OrderBy(me => me.Label).ToList(); var metaFieldTemplateViewModels = metaFieldTemplates.Select(MetaFieldItemTemplateViewModel.Create); fieldValidator = ModelFactory.CreateFieldValidator <IEntity>(metaField); EntityService.CreateFieldValidator(fieldValidator); MetaFieldTemplateItemViewModel = EntityFieldItemViewModel.Create(fieldValidator, Entity, metaFieldTemplateViewModels, metaField); EditableItemsFields.Add(MetaFieldTemplateItemViewModel); }