protected function formatMismo231(LoanApplication $application) { $borrower = $application->getBorrower(); $maritalStatusBorrower = $borrower->getMaritalStatus(); $coBorrowers = $application->getCoBorrower(); $type = $application->getLoanType(); $propertyType = $application->getPropertyType(); $resType = $application->getResidencyType(); switch ($propertyType) { case '1': $application->setPropertyType("twotofourunitproperty"); break; case '2': $application->setPropertyType("condominium"); break; case '3': $application->setPropertyType("twotofourunitproperty"); break; case '4': $application->setPropertyType("twotofourunitproperty"); break; case '5': $application->setPropertyType("condominium"); break; case '7': $application->setPropertyType("condominium"); break; default: $application->setPropertyType("singlefamilyresidence"); } if ($type == 0) { $application->setLoanType("Purchase"); } else { if ($application->getRefinancePurpose() == 3) { $application->setLoanType("Refinance"); } else { $application->setLoanType("Refinance"); } } $appTitleManner = $application->getTitleManner(); switch ($appTitleManner) { case 'Community property': $application->setTitleManner("Community Property"); break; case 'Joint Tenants': $application->setTitleManner("Joint Tenancy"); break; case 'Single Man': $application->setTitleManner("Single"); break; case 'Single Woman': $application->setTitleManner("Single"); break; case 'Married Man': $application->setTitleManner("A Married Man As His Separate Estate"); break; case 'Married Woman': $application->setTitleManner("A Married Woman As Her Separate Estate"); break; case 'Tenants in common': $application->setTitleManner("Tenancy in Common"); break; case 'To be decided in escrow': $application->setTitleManner(""); break; case 'Unmarried man': $application->setTitleManner("An Unmarried Person"); break; case 'Unmarried woman': $application->setTitleManner("An Unmarried Person"); break; case 'Other': $application->setTitleManner(""); break; default: $application->setTitleManner(""); } $refiPurpose = $application->getRefinancePurpose(); switch ($refiPurpose) { case '0': $application->setRefinancePurpose("cashoutdebtconsolidation"); break; case '1': $application->setRefinancePurpose("cashouthomeimprovement"); break; case '2': $application->setRefinancePurpose("cashoutother"); break; case '3': $application->setRefinancePurpose("nocashoutother"); break; case '4': $application->setRefinancePurpose("cashoutlimited"); break; default: $application->setRefinancePurpose("cashoutdebtconsolidation"); } switch ($resType) { case '0': $application->setResidencyType("PrimaryResidence"); break; case '1': $application->setResidencyType("SecondHome"); break; case '2': $application->setResidencyType("Investor"); break; default: $application->setResidencyType("PrimaryResidence"); } if ($borrower->getDeclarationUsCitizen()) { $borrower->setDeclarationUsCitizen("USCitizen"); } elseif ($borrower->getDeclarationResidentAlien()) { $borrower->setDeclarationUsCitizen("PermanentResidentAlien"); } else { $borrower->setDeclarationUsCitizen("Unknown"); } if ($borrower->getDeclarationOwnershipWithinThreeYears()) { switch ($borrower->getDeclarationOwnershipWithinThreeYearsPropertyTitle()) { case '0': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("Sole"); break; case '1': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("JointWithSpouse"); break; case '2': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("JointWithOtherThanSpouse"); break; default: } switch ($borrower->getDeclarationOwnershipWithinThreeYearsPropertyType()) { case '0': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyType("PrimaryResidence"); break; case '1': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyType("SecondaryResidence"); break; case '2': $borrower->setDeclarationOwnershipWithinThreeYearsPropertyType("Investment"); break; default: } } if (!$borrower->getGovtMonitoringOptOut()) { switch ($borrower->getEthnicity()) { case '0': $borrower->setEthnicity('HispanicOrLatino'); break; case '1': $borrower->setEthnicity('NotHispanicOrLatino'); break; case '2': $borrower->setEthnicity('NotApplicable'); break; default: } switch ($borrower->getRace()) { case '0': $borrower->setRace('AmericanIndianOrAlaskanNative'); break; case '1': $borrower->setRace('AsianOrPacificIslander'); break; case '2': $borrower->setRace('BlackNotOfHispanicOrigin'); break; case '3': $borrower->setRace('AsianOrPacificIslander'); break; case '4': $borrower->setRace('WhiteNotOfHispanicOrigin'); break; default: $borrower->setRace('Other'); } if ($borrower->getIsMale()) { $borrower->setIsMale("Male"); } else { $borrower->setIsMale("Female"); } } $borrowerAssetsA = $borrower->getAssetAccount(); foreach ($borrowerAssetsA as $a) { $aType = $a->getType(); switch ($aType) { case '0': $a->setType('CheckingAccount'); break; case '1': $a->setType('SavingsAccount'); break; case '2': $a->setType('MoneyMarketFund'); break; case '3': $a->setType('CertificateOfDepositTimeDeposit'); break; case '4': $a->setType('MutualFund'); break; case '5': $a->setType('RetirementFund'); break; default: $a->setType('OtherLiquidAssets'); } } switch ($maritalStatusBorrower) { case '0': $borrower->setMaritalStatus('Married'); break; case '1': $borrower->setMaritalStatus('Unmarried'); break; case '2': $borrower->setMaritalStatus('Separated'); break; default: } if ($borrower->getDependents()) { $BorrowerDependentsAges = explode(",", $application->getBorrower()->getDependentsAges()); $application->getBorrower()->setDependentsAges($BorrowerDependentsAges); } $borrowerEmployment = $borrower->getEmployment()->getValues(); foreach ($borrowerEmployment as $job) { $borEmpPhone = null; if ($job->getEndDate()->add(new \DateInterval('P1D')) >= $application->getCreated() && $application->getBorrower()->getEmployed()) { $job->setCurrent("Y"); } else { $job->setCurrent("N"); } switch ($job->getSelfEmployed()) { case '0': $job->setSelfEmployed("N"); break; case '1': $job->setSelfEmployed("Y"); break; default: } $borEmpPhone = $job->getEmployerPhone(); if (isset($borEmpPhone)) { $borEmpPhone = preg_replace("/[^0-9]/", "", $borEmpPhone); $job->setEmployerPhone($borEmpPhone); } } //////////////////////////////////////////////////////////////////////////// // // Co Borrowers // //////////////////////////////////////////////////////////////////// foreach ($coBorrowers as $coBorrower) { $maritalStatusCoBorrower = $coBorrower->getMaritalStatus(); $coBorrowerDependentsAges = NULL; if ($coBorrower->getDeclarationUsCitizen()) { $coBorrower->setDeclarationUsCitizen("USCitizen"); } elseif ($coBorrower->getDeclarationResidentAlien()) { $coBorrower->setDeclarationUsCitizen("PermanentResidentAlien"); } else { $coBorrower->setDeclarationUsCitizen("Unknown"); } if ($coBorrower->getDeclarationOwnershipWithinThreeYears()) { switch ($coBorrower->getDeclarationOwnershipWithinThreeYearsPropertyTitle()) { case '0': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("Sole"); break; case '1': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("JointWithSpouse"); break; case '2': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyTitle("JointWithOtherThanSpouse"); break; default: } switch ($coBorrower->getDeclarationOwnershipWithinThreeYearsPropertyType()) { case '0': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyType("PrimaryResidence"); break; case '1': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyType("SecondaryResidence"); break; case '2': $coBorrower->setDeclarationOwnershipWithinThreeYearsPropertyType("Investment"); break; default: } } if (!$coBorrower->getGovtMonitoringOptOut()) { switch ($coBorrower->getEthnicity()) { case '0': $coBorrower->setEthnicity('HispanicOrLatino'); break; case '1': $coBorrower->setEthnicity('NotHispanicOrLatino'); break; case '2': $coBorrower->setEthnicity('NotApplicable'); break; default: } switch ($coBorrower->getRace()) { case '0': $coBorrower->setRace('AmericanIndianOrAlaskanNative'); break; case '1': $coBorrower->setRace('AsianOrPacificIslander'); break; case '2': $coBorrower->setRace('BlackNotOfHispanicOrigin'); break; case '3': $coBorrower->setRace('AsianOrPacificIslander'); break; case '4': $coBorrower->setRace('WhiteNotOfHispanicOrigin'); break; default: $coBorrower->setRace('Other'); } if ($coBorrower->getIsMale()) { $coBorrower->setIsMale("Male"); } else { $coBorrower->setIsMale("Female"); } } switch ($maritalStatusCoBorrower) { case '0': $coBorrower->setMaritalStatus('Married'); break; case '1': $coBorrower->setMaritalStatus('Unmarried'); break; case '2': $coBorrower->setMaritalStatus('Separated'); break; default: } if ($coBorrower->getDependents()) { $coBorrowerDependentsAges = explode(",", $coBorrower->getDependentsAges()); $coBorrower->setDependentsAges($coBorrowerDependentsAges); } $coBorrowerEmployment = $coBorrower->getEmployment()->getValues(); foreach ($coBorrowerEmployment as $job) { $coBorEmpPhone = null; if ($job->getEndDate()->add(new \DateInterval('P1D')) >= $application->getCreated() && $application->getBorrower()->getEmployed()) { $job->setCurrent("Y"); } else { $job->setCurrent("N"); } switch ($job->getSelfEmployed()) { case '0': $job->setSelfEmployed("N"); break; case '1': $job->setSelfEmployed("Y"); break; default: } $coBorEmpPhone = $job->getEmployerPhone(); if (isset($coBorEmpPhone)) { $borEmpPhone = preg_replace("/[^0-9]/", "", $coBorEmpPhone); $job->setEmployerPhone($borEmpPhone); } } $coBborrowerAssetsA = $coBorrower->getAssetAccount(); foreach ($coBborrowerAssetsA as $a) { $aType = $a->getType(); switch ($aType) { case '0': $a->setType('CheckingAccount'); break; case '1': $a->setType('SavingsAccount'); break; case '2': $a->setType('MoneyMarketFund'); break; case '3': $a->setType('CertificateOfDepositTimeDeposit'); break; case '4': $a->setType('MutualFund'); break; case '5': $a->setType('RetirementFund'); break; default: $a->setType('OtherLiquidAssets'); } } } return $application; }