コード例 #1
0
ファイル: PaymentManager.php プロジェクト: svobodni/web
 /**
  * @param AccountEntity $account
  * @return bool
  */
 public function synchronizeAccount(AccountEntity $account)
 {
     foreach ($this->getDrivers() as $driver) {
         if ($driver->getCode() == $account->getBank()->getCode()) {
             $payments = $driver->getPayments($account, $account->getSyncDate());
             $last = NULL;
             foreach ($payments as $payment) {
                 if ($this->paymentRepository->findOneBy(array('paymentId' => $payment->getPaymentId())) || $this->paymentRepository->findOneBy(array('instructionId' => $payment->getInstructionId()))) {
                     continue;
                 }
                 $payment->setAccount($account);
                 $this->paymentRepository->save($payment);
                 $last = $payment;
             }
             if ($last instanceof PaymentEntity) {
                 $account->setSyncDate($last->getDate());
                 $this->accountRepository->save($account);
             }
             return TRUE;
         }
     }
     return FALSE;
 }