/** * Gets a Transaction Support record * * @param int $id * @return Model_Core_TransactionSupport|null */ public function getTransactionSupport($id) { $select = $this->select(); $select->where('TransID = ?', $id); $row = $this->fetchRow($select); // There should only be a single transactionSupport with the given id if (count($row) == 1) { $transactionSupport = new Model_Core_TransactionSupport(); $transactionSupport->setTransId($row->TransID)->setEnquiryId($row->EnquiryID)->setProductId($row->ProductID)->setAgentTypeId($row->AgentTypeID)->setDealAgentTypeId($row->DealAgentTypeID)->setGuarantor($row->Guarantor)->setBand($row->Band)->setDuration($row->Duration)->setRenewal($row->Renewal)->setRunningAmount($row->RunningAmount)->setInsurance($row->Insurance)->setIpt($row->IPT)->setIncome($row->Income)->setInvoiced($row->Invoiced)->setTransdate($row->Transdate)->setStatusChangeDate($row->StatusChangeDate); return $transactionSupport; } return null; }
/** * Cancels a transaction * * @param \DateTime $transactionAt * @return null|int */ protected function cancelTransaction($transactionAt) { $monthNo = $transactionAt->format('m'); $year = $transactionAt->format('Y'); $this->transData = $this->transaction->getLatestTransactionByTermId($this->termId, $monthNo, $year); if ($this->transData) { if ($this->transData->getInvoiceID() > 0) { $this->transactionAmount += $this->transData->getAmount(); } $this->transData->setStatusId($this->transStatusCancelled); $this->transaction->updateTransaction($this->transData); $previousId = $this->transData->getId(); $this->tsData = $this->transactionSupport->getTransactionSupport($previousId); $this->tsData->setTransDate($transactionAt->format('Y-m-d'))->setBand($this->band); $this->transactionSupport->updateTransactionSupport($this->tsData); return $previousId; } return null; }