Example #1
0
        public FieldConfiguration()
        {
            Fields =
                new Dictionary <FormSection, FormPageDefinition[]>
            {
                {
                    FormSection.Declaration,
                    new []
                    {
                        new FormPageDefinition(nameof(DeclarationViewModel)),
                    }
                },
                {
                    FormSection.Eligibility,
                    new []
                    {
                        new FormPageDefinition(nameof(EligibilityViewModel.SuppliesWorkers)),
                        new FormPageDefinition(nameof(EligibilityViewModel.OperatingIndustries)),
                        new FormPageDefinition(nameof(EligibilityViewModel.Turnover)),
                        new FormPageDefinition(nameof(EligibilityViewModel.EligibilitySummary)),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.OrganisationDetails,
                    new[]
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(nameof(OrganisationNameViewModel.OrganisationName)),
                        new FormPageDefinition(nameof(TradingNameViewModel.TradingName)),
                        new FormPageDefinition("Address"),
                        new FormPageDefinition(nameof(BusinessPhoneNumberViewModel.BusinessPhoneNumber)),
                        new FormPageDefinition(nameof(BusinessMobileNumberViewModel.BusinessMobileNumber)),
                        new FormPageDefinition(nameof(BusinessEmailAddressViewModel.BusinessEmailAddress)),
                        new FormPageDefinition(nameof(BusinessWebsiteViewModel.BusinessWebsite)),
                        new FormPageDefinition(nameof(CommunicationPreferenceViewModel.CommunicationPreference)),
                        new FormPageDefinition(nameof(LegalStatusViewModel.LegalStatus)),
                        new FormPageDefinition("PAYEERNStatus"),
                        new FormPageDefinition("VATStatus"),
                        new FormPageDefinition("TaxReference"),
                        new FormPageDefinition(nameof(OperatingIndustriesViewModel.OperatingIndustries)),
                        new FormPageDefinition("Turnover"),
                        new FormPageDefinition(nameof(OperatingCountriesViewModel.OperatingCountries)),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.PrincipalAuthority,

                    new[]
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(nameof(IsDirectorViewModel.IsDirector)),
                        new FormPageDefinition("PrincipalAuthorityConfirmation"),
                    }
                    .Concat(BasicPersonFields)
                    .Concat(new [] {
                        new FormPageDefinition(nameof(NationalityViewModel.Nationality)),
                        new FormPageDefinition(nameof(PassportViewModel)),
                        new FormPageDefinition(nameof(PrincipalAuthorityRightToWorkViewModel)),
                        new FormPageDefinition(nameof(UndischargedBankruptViewModel)),
                        new FormPageDefinition(nameof(DisqualifiedDirectorViewModel)),
                        new FormPageDefinition(nameof(RestraintOrdersViewModel), true),
                        new FormPageDefinition(nameof(RestraintOrdersViewModel)),
                        new FormPageDefinition(nameof(UnspentConvictionsViewModel), true),
                        new FormPageDefinition(nameof(UnspentConvictionsViewModel)),
                        new FormPageDefinition(nameof(OffencesAwaitingTrialViewModel), true),
                        new FormPageDefinition(nameof(OffencesAwaitingTrialViewModel)),
                        new FormPageDefinition(nameof(PreviousLicenceViewModel)),
                        new FormPageDefinition("PreviousTradingNames", true),
                        new FormPageDefinition("PreviousTradingNames"),
                        new FormPageDefinition(nameof(PreviousExperienceViewModel.PreviousExperience)),
                        new FormPageDefinition()
                    }).ToArray()
                },
                {
                    FormSection.AlternativeBusinessRepresentatives,
                    new []
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.AlternativeBusinessRepresentative,
                    BasicPersonFields
                    .Concat(PersonSecurityFields)
                    .Concat(new[] {
                        new FormPageDefinition()
                    }).ToArray()
                },
                {
                    FormSection.DirectorOrPartner,
                    new[]
                    {
                        new FormPageDefinition(nameof(IsPreviousPrincipalAuthorityViewModel.IsPreviousPrincipalAuthority)),
                    }
                    .Concat(BasicPersonFields)
                    .Concat(PersonSecurityFields)
                    .Concat(new [] {
                        new FormPageDefinition()
                    }).ToArray()
                },
                {
                    FormSection.DirectorsOrPartners,
                    new []
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.NamedIndividual,
                    new[]
                    {
                        new FormPageDefinition(nameof(FullNameViewModel.FullName)),
                        new FormPageDefinition(nameof(DateOfBirthViewModel.DateOfBirth)),
                        new FormPageDefinition(nameof(BusinessPhoneNumberViewModel.BusinessPhoneNumber)),
                        new FormPageDefinition(nameof(BusinessExtensionViewModel.BusinessExtension)),
                        new FormPageDefinition(nameof(RightToWorkViewModel)),
                        new FormPageDefinition(nameof(UndischargedBankruptViewModel)),
                        new FormPageDefinition(nameof(DisqualifiedDirectorViewModel)),
                        new FormPageDefinition(nameof(RestraintOrdersViewModel), true),
                        new FormPageDefinition(nameof(RestraintOrdersViewModel)),
                        new FormPageDefinition(nameof(UnspentConvictionsViewModel), true),
                        new FormPageDefinition(nameof(UnspentConvictionsViewModel)),
                        new FormPageDefinition(nameof(OffencesAwaitingTrialViewModel), true),
                        new FormPageDefinition(nameof(OffencesAwaitingTrialViewModel)),
                        new FormPageDefinition(nameof(PreviousLicenceViewModel)),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.JobTitle,
                    new[]
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.NamedIndividuals,
                    new []
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(),
                        new FormPageDefinition()
                    }
                },
                {
                    FormSection.Organisation,
                    new[]
                    {
                        new FormPageDefinition(),
                        new FormPageDefinition(nameof(OutsideSectorsViewModel)),
                        new FormPageDefinition(nameof(WrittenAgreementViewModel)),
                        new FormPageDefinition(nameof(PSCControlledViewModel)),
                        new FormPageDefinition(nameof(MultipleBranchViewModel)),
                        new FormPageDefinition(nameof(TransportingWorkersViewModel)),
                        new FormPageDefinition(nameof(AccommodatingWorkersViewModel)),
                        new FormPageDefinition(nameof(SourcingWorkersViewModel)),
                        new FormPageDefinition(nameof(WorkerSupplyMethodViewModel)),
                        new FormPageDefinition(nameof(WorkerContractViewModel)),
                        new FormPageDefinition(nameof(BannedFromTradingViewModel)),
                        new FormPageDefinition(nameof(SubcontractorViewModel)),
                        new FormPageDefinition(nameof(ShellfishWorkerNumberViewModel)),
                        new FormPageDefinition(nameof(ShellfishWorkerNationalityViewModel)),
                        new FormPageDefinition(nameof(PreviouslyWorkedInShellfishViewModel)),
                        new FormPageDefinition()
                    }
                }
            };
        }
 public FieldConfiguration()
 {
     Fields =
         new Dictionary <FormSection, FormPageDefinition[]>
     {
         {
             FormSection.Declaration,
             new []
             {
                 new FormPageDefinition(nameof(DeclarationViewModel)),
             }
         },
         {
             FormSection.SignUp,
             new []
             {
                 new FormPageDefinition(nameof(SignUpViewModel.EmailAddress)),
                 new FormPageDefinition(nameof(SignUpViewModel.FullName)),
                 new FormPageDefinition(nameof(SignUpViewModel.Address)),
                 new FormPageDefinition(nameof(SignUpViewModel.CommunicationPreference)),
                 new FormPageDefinition(nameof(SignUpViewModel.Password)),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.OrganisationDetails,
             new[]
             {
                 new FormPageDefinition(string.Empty, "Introduction"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessName), "BusinessName"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.Address), "Address"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessPhoneNumber), "BusinessPhoneNumber"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessMobileNumber), "BusinessMobileNumber"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessEmailAddress), "BusinessEmailAddress"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessWebsite), "BusinessWebsite"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.CommunicationPreference), "CommunicationPreference"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.LegalStatus), "LegalStatus"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.BusinessCredentials), "BusinessCredentials", true),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.OperatingIndustries), "OperatingIndustries"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.Turnover), "Turnover"),
                 new FormPageDefinition(nameof(OrganisationDetailsViewModel.OperatingCountries), "OperatingCountries"),
                 new FormPageDefinition(string.Empty, "Summary")
             }
         },
         {
             FormSection.PrincipalAuthority,
             new[]
             {
                 new FormPageDefinition(),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.IsDirector)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.PrincipalAuthorityConfirmation)),
             }
             .Concat(BasicPersonFields)
             .Concat(new [] {
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.Nationality)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.PassportViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.PrincipalAuthorityRightToWorkViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.UndischargedBankruptViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.DisqualifiedDirectorViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.RestraintOrdersViewModel), true),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.RestraintOrdersViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.UnspentConvictionsViewModel), true),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.UnspentConvictionsViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.OffencesAwaitingTrialViewModel), true),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.OffencesAwaitingTrialViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.PreviousLicenceViewModel)),
                 new FormPageDefinition(nameof(PrincipalAuthorityViewModel.PreviousExperience)),
                 new FormPageDefinition()
             }).ToArray()
         },
         {
             FormSection.AlternativeBusinessRepresentatives,
             new []
             {
                 new FormPageDefinition(),
                 new FormPageDefinition(),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.AlternativeBusinessRepresentative,
             BasicPersonFields
             .Concat(PersonSecurityFields)
             .Concat(new[] {
                 new FormPageDefinition()
             }).ToArray()
         },
         {
             FormSection.DirectorOrPartner,
             new[]
             {
                 new FormPageDefinition(nameof(DirectorOrPartnerViewModel.IsPreviousPrincipalAuthority)),
             }
             .Concat(BasicPersonFields)
             .Concat(PersonSecurityFields)
             .Concat(new [] {
                 new FormPageDefinition()
             }).ToArray()
         },
         {
             FormSection.DirectorsOrPartners,
             new []
             {
                 new FormPageDefinition(),
                 new FormPageDefinition(),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.NamedIndividual,
             new[]
             {
                 new FormPageDefinition(nameof(NamedIndividualViewModel.FullName)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.DateOfBirth)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.BusinessPhoneNumber)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.BusinessExtension)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.RightToWorkViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.UndischargedBankruptViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.DisqualifiedDirectorViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.RestraintOrdersViewModel), true),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.RestraintOrdersViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.UnspentConvictionsViewModel), true),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.UnspentConvictionsViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.OffencesAwaitingTrialViewModel), true),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.OffencesAwaitingTrialViewModel)),
                 new FormPageDefinition(nameof(NamedIndividualViewModel.PreviousLicenceViewModel)),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.JobTitle,
             new[]
             {
                 new FormPageDefinition(),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.NamedIndividuals,
             new []
             {
                 new FormPageDefinition(),
                 new FormPageDefinition(),
                 new FormPageDefinition()
             }
         },
         {
             FormSection.Organisation,
             new[]
             {
                 new FormPageDefinition(),
                 new FormPageDefinition(nameof(OrganisationViewModel.OutsideSectorsViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.WrittenAgreementViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.PscControlledViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.MultipleBranchViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.TransportingWorkersViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.AccommodatingWorkersViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.SourcingWorkersViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.WorkerSupplyMethodViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.WorkerContractViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.BannedFromTradingViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.SubcontractorViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.ShellfishWorkerNumberViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.ShellfishWorkerNationalityViewModel)),
                 new FormPageDefinition(nameof(OrganisationViewModel.PreviouslyWorkedInShellfishViewModel)),
                 new FormPageDefinition()
             }
         }
     };
 }