/**
*
* @param LoanApplication $application
*/
public function addProspects(LoanApplication $application)
{
$response = null;
try {
$borrowers = array($application->getBorrower());
foreach ($application->getCoBorrower() as $coBorrower) {
array_push($borrowers, $coBorrower);
}
// prepare borrowers
$prospects = array();
foreach ($borrowers as $borrower) {
$married = false;
if ($borrower->getMaritalStatus() == 0) {
$married = true;
}
$prospect = array('id' => $borrower->getId(), 'firstName' => $borrower->getFirstName(), 'lastName' => $borrower->getLastName(), 'email' => $borrower->getEmail(), 'primaryPhone' => $borrower->getPhoneHome(), 'suffix' => $borrower->getSuffix(), 'middleInitial' => $borrower->getMiddleInitial(), 'ssn' => $borrower->getSsn(), 'married' => $married, 'birthDate' => $borrower->getBirthDate()->format($this::SERVICE_DATE_FORMAT), 'homeAddress' => array('street1' => $borrower->getLocation()->getLocation()->getAddress1(), 'street2' => $borrower->getLocation()->getLocation()->getAddress2(), 'city' => $borrower->getLocation()->getLocation()->getCity(), 'state' => $borrower->getLocation()->getLocation()->getState()->getName(), 'stateAbbreviation' => $borrower->getLocation()->getLocation()->getState()->getAbbreviation(), 'zipcode' => $borrower->getLocation()->getLocation()->getZipcode()));
array_push($prospects, $prospect);
}
$paramLoanOfficer = null;
$loanOfficer = $application->getLoanOfficer();
if (isset($loanOfficer)) {
$loanOfficerLosId = $loanOfficer->getLosId();
if (isset($loanOfficerLosId)) {
$paramLoanOfficer['username'] = $loanOfficerLosId;
}
}
$params = array('user' => $this->user, 'prospects' => $prospects, 'loanOfficer' => $paramLoanOfficer);
$response = $this->request('createProspect', $params);
// update the los ids
if ($response['result']['success']) {
foreach ($response['result']['prospects'] as $p) {
$borrower = $this->em->getRepository('SudouxMortgageBundle:Borrower')->find($p['id']);
$borrower->setLosId($p['losID']);
$this->em->persist($borrower);
}
$this->em->flush();
}
} catch (\Exception $e) {
$this->logger->crit($e->getMessage());
}
return $response;
}