Exemplo n.º 1
0
 public function removeItem($result)
 {
     // validate json
     if (!isset($this->data->id) || !isset($this->data->itemid)) {
         $result['error'] = "Sale & item id must be provided";
         return $result;
     }
     // update item record
     $itemMdl = new SaleItemsModel();
     if ($itemMdl->removeById($this->data->itemid) === false) {
         $result['error'] = "Could not remove item record: " . $itemMdl->errorInfo;
         return $result;
     }
     // delete item in json
     foreach ($this->invoice->items as $key => $item) {
         if ($this->data->itemid == $item->id) {
             $this->data->sitemid = $item->sitemid;
             $this->data->qty = $item->qty;
             unset($this->invoice->items[$key]);
             $this->invoice->items = array_values($this->invoice->items);
             break;
         }
     }
     // Update invoice totals
     $this->calculateInvoice();
     // update invoice data
     if ($this->saveInvoiceData() === false) {
         $result['error'] = "Could not commit invoice data: " . $this->invMdl->errorInfo;
         return $result;
     } else {
         // increment stock
         if ($this->data->sitemid > 0) {
             $wposStock = new WposAdminStock();
             $wposStock->incrementStockLevel($this->data->sitemid, 0, $this->data->qty, false);
         }
         // Create transaction history record
         WposTransactions::addTransactionHistory($this->id, $_SESSION['userId'], "Modified", "Item Removed");
         // log data
         Logger::write("Invoice item removed for invoice id: " . $this->id, "INVOICE", json_encode($this->data));
     }
     $result['data'] = $this->invoice;
     return $result;
 }