/** * * @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."); } }