Example #1
0
 /**
  * Uploads xml file into bank account
  * @param TransactionUploadListInterface $list given list
  * @return mixed bank instruction ID when upload was succesfull otherwise false
  */
 public function uploadList(TransactionUploadListInterface $list)
 {
     foreach ($list->getTransactions() as $transaction) {
         $this->addTransactionToXml($transaction);
     }
     $request = $this->curlInit($this->urlBuilder->buildUpload());
     $response = $this->parseResponseXml($this->curlProcess($request));
     return $this->curlResult($response);
 }
Example #2
0
 /**
  * Initializes given list by given models
  * @param TransactionUploadList $list given list to be used
  * @param array $models given models
  * @return TransactionUploadList initialized list
  */
 private function initTransactionUploadList(TransactionUploadListInterface $list, array $models)
 {
     foreach ($models as $model) {
         /** @var $model TransactionalRecordInterface */
         if ($model instanceof TransactionalRecordInterface) {
             // TODO: check if transaction would be domestic or not
             $transaction = new components\transactions\DomesticTransaction();
             $transaction->setCurrency(components\transactions\DomesticTransaction::CURRENCY_CZ);
             if ($this->test) {
                 $transaction->setAccountFrom($this->testAccountNumFrom);
                 $transaction->setAccountTo($this->testAccountNumTo);
                 $transaction->setBankCode($this->testAccountBankCodeTo);
                 $transaction->setAmount(round($model->getTransactionAmount() / self::TEST_AMOUNT_FACTOR, 2));
             } else {
                 $transaction->setAccountFrom($model->getTransactionSenderAccountNum());
                 $transaction->setAccountTo($model->getTransactionRecipientAccountNum());
                 $transaction->setBankCode($model->getTransactionRecipientBankCode());
                 $transaction->setAmount(round($model->getTransactionAmount(), 2));
             }
             $transaction->setVariableSymbol($model->getTransactionVariableSymbol());
             $transaction->setSpecificSymbol($model->primaryKey);
             $transaction->setDate(new \DateTime('NOW'));
             $transaction->setMessage($model->getTransactionComment());
             if ($model->setTransactionAsReadyToPay() && $model->save()) {
                 $list->addTransaction($transaction);
             }
         }
     }
     return $list;
 }