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() } } }; }