using CRIF.ACTion.Common; using CRIF.ACTion.Configuration; namespace CRIF.ACTion.Loan.Assets { public class MfgHousingAndLandAppBuilder : ILoanApplicationRequestBuilder { private readonly CrifSettings _settings; public MfgHousingAndLandAppBuilder(CrifSettings settings) { _settings = settings; } public void SetDetails(LoanApplicationRequestBuilder createApp) { createApp.AppDetails = new AppDetailMfgHomeAndLandSection(createApp.CrifRequestSectionNamespace, _settings); var includesLand = true; if (createApp.LoanApplication.ManufacturedHome?.Lot?.IsRented ?? false) { includesLand = false; } ((AppDetailMfgHomeAndLandSection)createApp.AppDetails).AddPropertyDetails(createApp.LoanApplication.ManufacturedHome, includesLand); ((AppDetailMfgHomeAndLandSection)createApp.AppDetails).AddHmdaDisclosed(createApp.LoanApplication.PrimaryBorrower.HmdaValues.HmdaNoticeDisclosed); createApp.Properties.AddProperty(new MfgHousingProperty(createApp.LoanApplication.ManufacturedHome, includesLand)); createApp.Addresses.AddAddress(createApp.LoanApplication.ManufacturedHome.Lot, ContactMechanisms.CrifContactMechanism.RealEstateAddress); createApp.AppDetails.SetDetails(createApp.LoanApplication, createApp._sourceChannel); } } }