示例#1
0
 /**
  * 
  * @param Site $site
  * @param \DateTime $startDate
  */
 protected function processLoanDeletions(Site $site, \DateTime $startDate)
 {
     $deletedLoans = $this->loanUtil->getDeletedLoans($site, $startDate);
     $deletedLoanIds = array();
     if (isset($deletedLoans['loans'])) {
         $deletedLoanIds = $deletedLoans['loans'];
     }
     if (count($deletedLoanIds) > 0) {
         $loans = $this->em->getRepository('SudouxMortgageBundle:LoanApplication')->findByLosIds($deletedLoanIds);
         // @todo - process in transactions
         $i = 1;
         foreach ($deletedLoanIds as $losId) {
             $loan = $this->em->getRepository('SudouxMortgageBundle:LoanApplication')->findByLosIds($losId);
             if (isset($loan)) {
                 $loan->setDeleted(true);
                 $this->em->persist($loan);
                 $this->em->flush();
                 $this->output->writeln(sprintf('deleting %s of %s loans - id: %s', $i, count($deletedLoanIds), $loan->getId()));
                 $i++;
             }
         }
     } else {
         $this->output->writeln("No loans to delete.");
     }
 }