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));
 public static BuildingPermitSystemBasicInfo MapToBasicInfo(BldgpermitApplicationMaster bldgpermit,
                                                            Bldgjurisdictions juri,
                                                            Bldgdepartments dept, BldgstateClassifications bldgstateClassification) =>
 new BuildingPermitSystemBasicInfo(bldgpermit.JurisdictionCode, bldgpermit.DepartmentCode, bldgpermit.ApplicationYear.Value, bldgpermit.ApplicationNumber.Value,
                                   bldgpermit.AddendumNumber.Value, bldgpermit.PermitStatus, juri.ShortDepartmentName, dept.ShortDepartmentName, bldgpermit.PermitYear, bldgpermit.PermitNumber, bldgpermit.StateClassCode,
                                   bldgstateClassification.ClassificationDescription, bldgpermit.PermitIssuedDate);
 internal static CityApproval MapToCityApproval(
     BldgpermitApplicationMaster appm, BldgcityApproval cityJoinRecord, Bldgjurisdictions jurisdictionRecord)
 => new CityApproval(appm?.ApplicantProjectDescription, cityJoinRecord?.JurisdictionCode, jurisdictionRecord?.ShortDepartmentName,
                     cityJoinRecord?.ZoningApproval, cityJoinRecord?.UtilitiesApproval, cityJoinRecord?.Comments, cityJoinRecord?.ApprovedBy, cityJoinRecord?.UserId,
                     cityJoinRecord?.ChangeDate, cityJoinRecord?.CityCode);