/** * Add transaction to summary calculations */ public function addToSummary(Transaction $transaction) : self { if (!$this->isInitialized()) { $this->initialize($transaction->getAmount()->subtract($transaction->getAmount())); } $this->balance = $this->balance->add($transaction->getAmount()); if ($transaction->getAmount()->isPositive()) { $this->debit = $this->debit->add($transaction->getAmount()); } else { $this->credit = $this->credit->add($transaction->getAmount()->getAbsolute()); } return $this; }
/** * Write transaction to output */ public function writeTransaction(Transaction $transaction, Output $output) { $output->writeln("\t#TRANS %s {} %s", $transaction->getAccount()->getId(), (string) $transaction->getAmount()); }