public function new_delivery_post()
 {
     $branch_id = $this->input->post('branchId');
     $items = $this->input->post('items');
     // [ {itemId: 401, quantity: 20}, {itemId: 402, quantity: 10} ]
     $uncleared_items_repo = new Uncleared_Items_Repository($this->base_model->get_db_instance());
     $deliveries_repo = new Deliveries_Repository($this->base_model->get_db_instance());
     $items_repo = new Items_Repository($this->base_model->get_db_instance());
     $delivery_id = $deliveries_repo->new_delivery($branch_id, $items);
     foreach ($items as $item) {
         $item_info = $items_repo->get_item($item['itemId']);
         $items_repo->update_item(new Item($item['itemId'], $item_info->description, $item_info->quantity - $item['quantity'], $item_info->price, null, null));
         if ($uncleared_items_repo->item_exists_via_item_id_and_branch_id($item['itemId'], $branch_id)) {
             $uncleared_item = $uncleared_items_repo->get_item_via_item_id_and_branch_id($item['itemId'], $branch_id);
             $uncleared_items_repo->update_item(new Uncleared_Item($uncleared_item->id, $item['itemId'], $branch_id, $uncleared_item->quantity + $item['quantity'], null, null));
         } else {
             $uncleared_items_repo->new_item(new Uncleared_Item(null, $item['itemId'], $branch_id, $item['quantity'], null, null));
         }
     }
     echo $deliveries_repo->to_delivery_json($delivery_id);
 }
 public function save_transaction_post()
 {
     /** 
      * 	[$items description]
      * 	@var   [json]
      *	@example
      *	[
      *		{"itemId": 1, "price": 100, "quantity": 2},
      *		{"itemId": 2, "price": 100, "quantity": 4}
      *	]
      */
     $items = $this->input->post('items');
     $session_data = $this->session->userdata('branch_auth');
     $user_id = $session_data['user_id'];
     $items_repo = new Items_Repository($this->base_model->get_db_instance());
     foreach ($items as $item) {
         $item_info = $items_repo->get_item($item['itemId']);
         $items_repo->update_item(new Item($item_info->id, $item_info->description, $item_info->quantity - $item['quantity'], $item_info->price, null, null));
     }
     $receipts_repo = new Receipts_Repository($this->base_model->get_db_instance());
     $receipts_repo->new_receipt($user_id, $items);
     echo json_encode($items);
 }
Esempio n. 3
0
 public function update_item_quantity_post()
 {
     $items_repo = new Items_Repository($this->base_model->get_db_instance());
     $item = $items_repo->get_item($this->input->post('itemId'));
     $items_repo->update_item(new Item($this->input->post('itemId'), $item->description, $item->quantity + $this->input->post('quantity'), $item->price, null, null));
 }
Esempio n. 4
0
 /**
  * Return Items
  */
 public function new_return_post()
 {
     $items = $this->input->post('items');
     // [ {itemId: 401, quantity: 20}, {itemId: 402, quantity: 10} ]
     $returns_repo = new Returns_Repository($this->base_model->get_db_instance());
     $items_repo = new Items_Repository($this->base_model->get_db_instance());
     $return_id = $returns_repo->new_return($items);
     foreach ($items as $item) {
         $item_info = $items_repo->get_item($item['itemId']);
         $items_repo->update_item(new Item($item['itemId'], $item_info->description, $item_info->quantity - $item['quantity'], $item_info->price, null, null));
     }
     echo $returns_repo->to_return_json($return_id);
 }