/** * * @return Pap_Db_Commission */ protected function getCommissionForTransaction() { $transactions = new Gpf_SqlBuilder_SelectBuilder(); $transactions->select->add('c.'.Pap_Db_Table_Commissions::TYPE); $transactions->select->add('c.'.Pap_Db_Table_Commissions::VALUE); $transactions->where->add('t.'.Pap_Db_Table_Transactions::TRANSACTION_ID, '=', $this->transaction->getId()); $transactions->where->add('c.'.Pap_Db_Table_Commissions::SUBTYPE,'=',self::getCommissionTypeFromTransaction($this->transaction->getType())); $this->initTransactionSql($transactions); $commission = new Pap_Db_Commission(); $commission->fillFromRecord($transactions->getOneRow()); return $commission; }
/** * @param Pap_Db_Transaction $transaction * @param Gpf_DbEngine_Row_Collection $affectedTransactions * @return Pap_Db_Transaction */ protected function getChildTransaction(Pap_Db_Transaction $transaction, Gpf_DbEngine_Row_Collection $affectedTransactions) { foreach ($affectedTransactions as $affectedTransaction) { if ($affectedTransaction->getParentTransactionId() == $transaction->getId() && $affectedTransaction->getType() == $transaction->getType()) { return $affectedTransaction; } } $childTransaction = new Pap_Db_Transaction(); $childTransaction->setType($transaction->getType()); $childTransaction->setParentTransactionId($transaction->getId()); try { $childTransaction->loadFromData(array(Pap_Db_Table_Transactions::R_TYPE, Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID)); } catch (Gpf_Exception $e) { return null; } return $childTransaction; }