/** * Remove all transaction records associated with a sale * @return bool */ private function removeTransactionRecords() { $itemsMdl = new SaleItemsModel(); $payMdl = new SalePaymentsModel(); if ($this->salesMdl->remove($this->id) !== false) { if ($payMdl->removeBySale($this->id) !== false) { if ($itemsMdl->removeBySale($this->id) !== false) { return true; } } } return false; }
/** * Delete sale specified by ID, same as delete transaction but sale is broadcast to pos devices * @param $result * @return mixed */ public function deleteSale($result) { $saleMdl = new SalesModel(); if ($saleMdl->remove($this->data->id) === false) { $result["error"] = "Error:" . $saleMdl->errorInfo; } else { $result['data'] = true; // broadcast the sale; supplying the id only indicates deletion $socket = new WposSocketIO(); $socket->sendSaleUpdate(null, $this->data->id); // log data Logger::write("Sale deleted with id:" . $this->data->id, "SALE"); } return $result; }