public function reduceOrderInPendingOrder()
 {
     if (Efiwebsetting::getData('checkOAuth') == 'yes') {
         IMBAuth::checkOAuth();
     }
     $json = array();
     $json['status_code'] = 1;
     $id_user = isset($_GET['id_user']) ? addslashes($_GET['id_user']) : "";
     if (!$id_user) {
         Generic::errorMsg("Please login!");
     }
     $id_order = isset($_GET['id_order']) ? addslashes($_GET['id_order']) : "";
     if (!$id_order) {
         Generic::errorMsg("ID Order not found!");
     }
     $id_dish = isset($_GET['id_dish']) ? addslashes($_GET['id_dish']) : "";
     if (!$id_dish) {
         Generic::errorMsg("ID Dish not found!");
     }
     $objOrder = new MasterOrderModel();
     $objOrder->getByID($id_order);
     $objOrderDetail = new OrderDetail();
     $isLeader = false;
     //     getcurrent qty dr iddish
     $currQuantity = OrderDetail::getQuantityUserByID_dish($id_dish, $id_order, $id_user);
     //        pr($currQuantity);
     //TODO CHECK apakah userId ini adalah leader, kalau iya set $isLeader = true
     if ($id_user == $objOrder->id_user) {
         $isLeader = true;
     }
     if ($isLeader) {
     } else {
         $objOrderDetail->getOrderDetailsByIDOrderAndUserID($id_order, $id_user);
         //TODO kalau sudah  0 ERROR message, else Kurangi quantity order sendiri
     }
     if ($currQuantity < 0) {
         Generic::errorMsg("remove order failed!");
         //TODO kalau sum order semua user dengan dish ini 0, ERROR message
         //TODO kalau order sendiri 0, kurangi order orang lain
         //TODO, else Kurangi quantity order sendiri
     } elseif ($currQuantity == 0) {
         Generic::errorMsg("remove order failed!");
     } else {
         $id = $this->addOrderDetails($id_order, $id_user, $id_dish, $currQuantity - 1);
         if (!$id) {
             Generic::errorMsg("remove order failed!");
         }
     }
     $objOrder = new MasterOrderModel();
     $objOrder->getByID($id_order);
     $invoice = $this->calcRechnung($objOrder->id_restaurant, $id_order);
     $this->setInvoiceInOrder($objOrder, $invoice);
     $objOrder->load = 1;
     $id_updateOrder = $objOrder->save();
     if (!$id_updateOrder) {
         Generic::errorMsg("Update Order failed!");
     }
     $json['results']['messages'] = "Success";
     $json['results']['invoice'] = $invoice;
     echo json_encode($json);
     die;
 }