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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }