protected function beforeTransaction(Transaction $transaction) { // @change me into event if ($transaction->needExchange()) { $exchanged = $this->exchanger->exchange($transaction->getAmount(), $transaction->getCurrency(), CurrencyCode::VIRTUAL); $transaction->setVirtualAmount($exchanged); } }
public function createFromTransaction(Transaction $transaction) { if (!$transaction->getAccount()->getUser()->isAccountable()) { return; } $invoice = new $this->class(); $invoice->setAccount($transaction->getAccount()); $invoice->setAmount($transaction->getAmount()); $invoice->setTitle($transaction->getInformation()); $invoice->generateNumber($this, $transaction); $this->em->persist($invoice); }