public ReadOnlyFieldsCollectionHelper(List <FormItemSettingsDescriptor> fieldSettings, IFormGroupBoxSettings groupBoxSettings, IContextProvider contextProvider, Type modelType, DetailFormLayout formLayout = null, string parentName = null) { this.fieldSettings = fieldSettings; this.groupBoxSettings = groupBoxSettings; this.contextProvider = contextProvider; this.modelType = modelType; if (formLayout == null) { this.formLayout = new DetailFormLayout(); if (this.fieldSettings.ShouldCreateDefaultControlGroupBox()) { this.formLayout.AddControlGroupBox(this.groupBoxSettings); } } else { this.formLayout = formLayout; } this.parentName = parentName; }
public void CreateDetailFormLayoutForDepartment_AllFieldsGrouped() { DetailFormLayout formLayout = serviceProvider.GetRequiredService <IReadOnlyFieldsCollectionBuilder>().CreateFieldsCollection ( ReadOnlyDescriptors.DepartmentFormWithAllItemsGrouped, typeof(DepartmentModel) ); Assert.Equal(2, formLayout.ControlGroupBoxList.Count); Assert.Equal(3, formLayout.ControlGroupBoxList.Single(cg => cg.GroupHeader == "GroupOne").Count); Assert.Equal(3, formLayout.ControlGroupBoxList.Single(cg => cg.GroupHeader == "GroupTwo").Count); }
public void CreateDetailFormLayoutForDepartment_NoGroups() { DetailFormLayout formLayout = serviceProvider.GetRequiredService <IReadOnlyFieldsCollectionBuilder>().CreateFieldsCollection ( ReadOnlyDescriptors.DepartmentForm, typeof(DepartmentModel) ); Assert.Single(formLayout.ControlGroupBoxList); Assert.Equal(6, formLayout.ControlGroupBoxList.Single().Count); Assert.Equal("Department", formLayout.ControlGroupBoxList.Single().GroupHeader); }
public void CreateDetailFormLayoutForUserModelPersonalWithDefaultGroupForSomeFields() { DetailFormLayout formLayout = serviceProvider.GetRequiredService <IReadOnlyFieldsCollectionBuilder>().CreateFieldsCollection ( ReadOnlyDescriptors.PersonalFromWithDefaultGroupForSomeFields, typeof(UserModel) ); Assert.Equal(3, formLayout.ControlGroupBoxList.Count); Assert.Equal(5, formLayout.ControlGroupBoxList.Single(cg => cg.GroupHeader == "PersonalRoot").Count); Assert.Equal(6, formLayout.ControlGroupBoxList.Single(cg => cg.GroupHeader == "Address").Count); Assert.Equal(2, formLayout.ControlGroupBoxList.Single(cg => cg.GroupHeader == "Phone Numbers").Count); }