/**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $InvoiceId = MoneyPaid::model()->findByPk($id)->purchases_invoice_id;
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['MoneyPaid'])) {
         $model->attributes = $_POST['MoneyPaid'];
         $model->purchases_invoice_id = $InvoiceId;
         $total_paid = 0;
         $model1 = PurchasesInvoices::model()->findByPk($InvoiceId);
         $model->supplier_id = $model1->supplier_id;
         $model->save();
         foreach (MoneyPaid::model()->findAll(array('condition' => 'purchases_invoice_id=:invoice', 'params' => array(':invoice' => $InvoiceId))) as $receipts) {
             $total_paid += $receipts->amount;
         }
         $tempBalance = $model1->total_amount - $total_paid;
         $creditRow = SuppliersCredit::model()->find(array('condition' => 'credited_from=:invoice', 'params' => array(':invoice' => $InvoiceId)));
         if ($tempBalance >= 0) {
             $model1->balance = $tempBalance;
             if (isset($creditRow)) {
                 $creditRow->amount = 0;
                 $creditRow->save();
             }
         } else {
             $model1->balance = 0;
             if (!isset($creditRow)) {
                 $creditRow = new SuppliersCredit();
                 $creditRow->credited_from = $InvoiceId;
                 $creditRow->supplier_id = $model1->supplier_id;
             }
             $creditRow->amount = -1 * $tempBalance;
             $creditRow->credited_date = $model->paid_date;
             $creditRow->supplier_id = $model1->supplier_id;
             $creditRow->save();
         }
         $model1->save();
         $this->redirect(array('automatedTransaction', 'id' => $model1->id, 'mode' => ''));
     }
     $this->render('update', array('model' => $model, 'id' => $InvoiceId));
 }
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $i = 0;
     $model1 = $this->loadModel($id);
     $model2 = $model1->purchasesInfos;
     $paidModel = $this->loadpaidModel($id);
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['PurchasesInvoices'])) {
         $model1->attributes = $_POST['PurchasesInvoices'];
         $model1->save();
         $purchases_invoice_id = $model1->id;
         if (isset($_POST['PurchasesInfo'])) {
             $item_qty = array();
             foreach ($model2 as $cnt => $indModel) {
                 $item_qty[$cnt] = $indModel->qty;
                 $indModel->delete();
             }
             while ($i <= $_SESSION['sts']) {
                 if (isset($_POST['PurchasesInfo'][$i])) {
                     $indModel = new PurchasesInfo();
                     $indModel->attributes = $_POST['PurchasesInfo'][$i];
                     $indModel->purchases_invoice_id = $purchases_invoice_id;
                     $indModel->save();
                     $item = InventoryItems::model()->findByPk($indModel->item_id);
                     $item->qty += $indModel->qty - $item_qty[$i];
                     $item->save();
                 }
                 $i++;
             }
             //$model2->save();
         }
         if (isset($_POST['MoneyPaid'])) {
             $paidModel->attributes = $_POST['MoneyPaid'];
             $paidModel->save();
             $total_paid = 0;
             foreach (MoneyPaid::model()->findAll(array('condition' => 'purchases_invoice_id=:invoice', 'params' => array(':invoice' => $id))) as $receipts) {
                 $total_paid += $receipts->amount;
             }
             $tempBalance = $model1->total_amount - $total_paid;
             $creditRow = SuppliersCredit::model()->find(array('condition' => 'credited_from=:invoice', 'params' => array(':invoice' => $id)));
             if ($tempBalance >= 0) {
                 $model1->balance = $tempBalance;
                 if (isset($creditRow)) {
                     $creditRow->amount = 0;
                     $creditRow->save();
                 }
             } else {
                 $model1->balance = 0;
                 if (!isset($creditRow)) {
                     $creditRow = new SuppliersCredit();
                     $creditRow->credited_from = $id;
                     $creditRow->supplier_id = $model1->supplier_id;
                 }
                 $creditRow->amount = -1 * $tempBalance;
                 $creditRow->credited_date = $model1->issue_date;
                 $creditRow->supplier_id = $model1->supplier_id;
                 $creditRow->save();
             }
             $model1->save();
         }
         $this->redirect(array('AutomatedTransaction', 'id' => $model1->id, 'mode' => ''));
         //$this->redirect(array('view','id'=>$model1->id));
     }
     $this->render('update', array('model1' => $model1, 'model2' => $model2, 'paidModel' => $paidModel));
 }