Пример #1
0
 public function addCreditPayment($data)
 {
     $this->db->trans_begin();
     try {
         $salesTransactionModel = new Sales_transaction_model();
         $salesTransaction = $salesTransactionModel->fetchById($data['salesTransactionId']);
         $updatedPaidAmount = (double) $data['amount'] + (double) $salesTransaction['totalAmountPaid'];
         if ($updatedPaidAmount > $salesTransaction['totalPrice']) {
             throw new Exception('Amount paid will exceed total transaction amount.');
         }
         $creditPaymentModel = new Credit_payment_model();
         $creditPaymentModel->customerId = $data['customerId'];
         $creditPaymentModel->salesTransactionId = $data['salesTransactionId'];
         $creditPaymentModel->amount = $data['amount'];
         $creditPaymentModel->insert();
         $updateData = array('totalAmountPaid' => $updatedPaidAmount);
         if ($updatedPaidAmount == $salesTransaction['totalPrice']) {
             $updateData['isFullyPaid'] = 1;
         }
         $this->db->where('salesTransactionId', $data['salesTransactionId']);
         $this->db->update('SalesTransaction', $updateData);
     } catch (Exception $e) {
         $this->db->trans_rollback();
         throw new Exception($e->getMessage());
     }
     $this->db->trans_commit();
 }
Пример #2
0
 private function _createCreditPayment($data)
 {
     if ($data['totalPrice'] == $data['amountPaid'] || $data['amountPaid'] == 0) {
         return;
     }
     Debug::log('creating credit payment record.');
     $creditPayment = new Credit_payment_model();
     $creditPayment->customerId = $data['customerId'];
     $creditPayment->salesTransactionId = $data['salesTransactionId'];
     $creditPayment->amount = $data['amountPaid'];
     $creditPayment->insert();
 }