public function finishSmsPayment(Account $account, SmsPayment $payment)
 {
     if ($payment->isFinished()) {
         return;
     }
     $transaction = new Transaction($account);
     $transaction->setAmount($payment->getAmount());
     $transaction->setCurrency(CurrencyCode::VIRTUAL);
     $transaction->setInformation('Doładowanie poprzez sms');
     $this->bank->deposit($transaction);
     $payment->setStatus(DotpayPaymentStatus::FINISHED);
     $this->updateSmsPayment($payment);
 }
 /**
  * @todo move to better place
  *
  * @param type $service
  * @param type $account 
  */
 public function addServiceToAccount($service, $account)
 {
     if ($service instanceof VirtualPackage) {
         $transaction = new Transaction($account);
         $transaction->enableInvoice();
         $transaction->enableLogging();
         $transaction->setAmount($service->getCost());
         $transaction->setVirtualAmount($service->getAmount());
         $transaction->setInformation($service->getDescription());
         $transaction->disableExchange();
         $this->bank->deposit($transaction);
     } elseif ($service instanceof SubscriptionService) {
         $this->sa->add($service, $account);
     } else {
         throw new BankException("Unsupported service object class");
     }
 }
 public function testGetDepositHistoryQuery()
 {
     $qb = $this->getMockBuilder('\\Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock();
     $qb->expects($this->once())->method('andWhere')->with('e.account = 99');
     $repository = $this->getMockBuilder('\\Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $repository->expects($this->once())->method('createQueryBuilder')->with('e')->will($this->returnValue($qb));
     $exchanger = $this->getMock('\\Hatimeria\\BankBundle\\Bank\\CurrencyExchanger');
     $em = $this->getMockBuilder('\\Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $blm = $this->getMockBuilder('\\Hatimeria\\BankBundle\\Model\\BankLogManager')->disableOriginalConstructor()->getMock();
     $blm->expects($this->atLeastOnce())->method('getRepository')->will($this->returnValue($repository));
     $bank = new Bank($exchanger, $em, $blm);
     $account = $this->getAccount(1000);
     $account->setId(99);
     $result = $bank->getDepositHistoryQuery($account);
     $result->andHaving('test');
 }