function addSales($sale = null) { if ($sale == null) { $sale = $this; } $sale_id = $this->db_handler->add_model($sale); if (is_array($this->sales_items) and count($this->sales_items) != 0) { foreach ($this->sales_items as $sales_item) { $sales_item->sale_id = $sale_id; $sales_item->company_id = $sale->company_id; $sales_item->addSaleItem(); $inv = new inventry(); $inv->company_id = $sale->company_id; $inv->item_id = $sales_item->item_id; $invs = $inv->getInventryForSpecificCompanyAndItem(); $inv = $invs[0]; $inv->in_stock_count = $inv->in_stock_count - $sales_item->quantity; $inv->updateInventry(); } } $description = "Added new Sale (" . $sale->to_string() . ")"; $customer = new customer(); $customer->id = $sale->customer_id; $customer->getCustomer(); $customer->total_purchace_amount = $customer->total_purchace_amount + $sale->amount; $customer->updateCustomer(); Log::i($this->tag, $description); return $sale_id; }
} //checking for removed items foreach ($sales_items_prev as $sale_item_prev) { $item_id = $sale_item_prev->item_id; $removed_item = true; foreach ($sales_items_new as $sale_item_new) { if ($item_id == $sale_item_new->item_id) { $removed_item = false; } } if ($removed_item) { $qty = $sale_item_prev->quantity; $inv = new inventry(); $inv->company_id = $sale->company_id; $inv->item_id = $item_id; $invs = $inv->getInventryForSpecificCompanyAndItem(); $inv = $invs[0]; $inv->in_stock_count = $inv->in_stock_count + $qty; $inv->updateInventry(); $description = "Updating inventry (sales return - removed item) diff : " . $qty . ", inventry : " . $inv->to_string(); Log::i($tag, $description); } } $message = "Sale Updated Successfuly"; $responce = array('status' => 'success', 'error' => '', 'data' => array("message" => $message, "id" => $sale->id)); } else { $responce = array('status' => 'failed', 'error' => 'Data missing', 'data' => array()); } } else { if ($form_id == 4) { // bank deposit edit