private static BuildingPermitSystemApplicantDetails MapToApplicantDetails(BldgpermitApplicationMaster bldgpermit,
                                                                           BldgmobileHomeDealersInstallersArchitects mdia,
                                                                           BldgmobileHomeDealersInstallersArchitects mdiaBusinessEngineer,
                                                                           Bldgcontractors bldgContractor) =>
 new BuildingPermitSystemApplicantDetails(bldgpermit.ContractLicenseNumber, bldgpermit.ProjectInformation,
                                          bldgpermit.ApplicantProjectDescription, bldgpermit.ResultOfEnforcementAction, bldgpermit.EnforcementDescription, bldgpermit.PlotPlanReceived,
                                          bldgpermit.OnlyStructureOnParcel, bldgpermit.OnlyResidenceOnParcel, bldgContractor?.ContractorBusinessName,
                                          bldgpermit.ArchitectFirmNumber, mdia?.BusinessName, bldgpermit.EngineerFirmNumber, mdiaBusinessEngineer?.BusinessName);
 internal static ManufactureModularPermit Map(BldgpermitApplicationMaster bldgpermit,
                                              BldgmanufactureModularBuildingPermit permit,
                                              BldgfireDistrictCodes bldgfire,
                                              BldgapplicationConditions bldgCondition,
                                              BldgapplicationInspections bldgInspection,
                                              BldgapplicationValues bldgValue,
                                              BldgmobileHomeDealersInstallersArchitects bldgDealer,
                                              BldgmobileHomeDealersInstallersArchitects bldgInstaller) =>
 new ManufactureModularPermit(permit.OfficeProjectDescription, permit.ManorMod, permit.YearManufactured.Value, permit.NewOrUsed, permit.SquareFeet.Value, permit.Dimensions, permit.BuildingDescription,
                              permit.ResCommStor.Trim(), permit.CommercialUseDesc1, permit.CommercialUseDesc2, permit.DealerNameCode, permit.ManufacturerName, permit.LotorMan, permit.ApproxPurchaseDate,
                              permit.ApproxDeliveryDate, permit.InstallationIncludedInPrice, permit.MovingFromGrantCounty, permit.CountyStateIfNotGrant, permit.TitleOwnerName, permit.TaxpayerName,
                              permit.MovingFromParcelNumber.Value, permit.MovingFromAddress, permit.CertInstallerCode, permit.FireDistrictCode, permit.FireFlowAlreadyProvided, permit.AdditionalFireFlowRequired,
                              permit.AmountOfFireFlowRequired, permit.BldgDeptSetback.Value, permit.FireMarshalSetback.Value, bldgValue?.ExtendedValue, bldgfire.LongFireDistrictName,
                              (bldgCondition != null), (bldgInspection != null),
                              new PermitApprovedInfo(permit.BldgDeptApprovedBy, permit.BldgDeptDateApproved, permit.BldgDeptApprovedUserId, permit.BldgDeptApprovedChangeDate),
                              new PermitApprovedInfo(permit.FireMarshalApprovedBy, permit.FireMarshalDateApproved, permit.FireMarshalApprovedUserId, permit.FireMarshalApprovedChangeDate),
                              new DealersInstallersArchitectInfo(bldgDealer?.BusinessName, bldgDealer?.LicenseNumber, bldgDealer?.LicenseExpireDate, bldgDealer?.PhoneNumber.Value),
                              new DealersInstallersArchitectInfo(bldgInstaller?.BusinessName, bldgInstaller?.LicenseNumber, bldgInstaller?.LicenseExpireDate, bldgInstaller?.PhoneNumber.Value));
 internal static BuildingPermitSystemDetails Map(BldgpermitApplicationMaster bldgpermit,
                                                 ASMTValueMasterNameView preliminaryValueMaster,
                                                 ASMTValueMasterNameView assessorValueMaster,
                                                 Bldgjurisdictions juri,
                                                 Bldgjurisdictions processedJuri,
                                                 Bldgdepartments dept,
                                                 BldgpermitCodes perm,
                                                 AsmtsitusAddress situs,
                                                 AsmtcityCodeFile cityCode,
                                                 BldgmobileHomeDealersInstallersArchitects mdia,
                                                 BldgmobileHomeDealersInstallersArchitects mdiaBusinessEngineer,
                                                 Bldgcontractors bldgContractor,
                                                 AsmtrealPropertyAssessedValueMaster rpmas,
                                                 AsmtmasterNameAddress nName, BldgstateClassifications bldgstateClassification) =>
 new BuildingPermitSystemDetails(bldgpermit.ApplicantLastName, bldgpermit.ApplicantFirstName, bldgpermit.PermitCode.Trim(), bldgpermit.ProcessedForJurisdiction,
                                 bldgpermit.ApplicationDate.Value, bldgpermit.ApplicationUserId, bldgpermit.ApplicantBusinessName, bldgpermit.AddressLine1, bldgpermit.AddressLine2,
                                 bldgpermit.City, bldgpermit.State, bldgpermit.ZipCode, bldgpermit.PhoneNumber.Value, bldgpermit.PreliminaryParcelNumber.Value,
                                 bldgpermit.AssessorParcelNumber.Value, bldgpermit.AdditionalInformation, bldgpermit.ParkInformation, perm.PermitDescription, processedJuri.ShortDepartmentName,
                                 MapToBasicInfo(bldgpermit, juri, dept, bldgstateClassification), MapToApplicantDetails(bldgpermit, mdia, mdiaBusinessEngineer, bldgContractor), Map(preliminaryValueMaster),
                                 Map(assessorValueMaster), Map(situs, cityCode),
                                 MapToApprovalStatus(bldgpermit));