public function gettotalQuantity()
 {
     $inventorycountReplenish = inventorycount::where('product_id', $this->id)->where('type', 'replenish')->sum('amount');
     $inventorycountWithdraw = inventorycount::where('product_id', $this->id)->where('type', 'withdraw')->sum('amount');
     return $inventorycountReplenish - $inventorycountWithdraw;
 }
 public function postOrder(Request $request)
 {
     //update here
     $purchaseorder = purchaseorder::find($request->purchaseorders_id);
     if (isset($_POST['saveStatus'])) {
         // if(isset($_POST['btnProcessDelivery'])){
         // 	$purchaseorder->status = "on-delivery-process";
         // 	$purchaseorder->save();
         // }
         // if(isset($_POST['btnClose'])){
         // 	$purchaseorder->status = "closed";
         // 	$purchaseorder->save();
         // }
         $trail = new audittrail();
         $trailmessage = "";
         if ($purchaseorder->status != $request->newstatus) {
             $trailmessage .= "Admin updated order status to : " . $request->newstatus . ";";
         }
         if ($purchaseorder->remarks != $request->remarks) {
             $trailmessage .= " remarked: '" . $request->remarks . "'";
         }
         if ($purchaseorder->status != $request->newstatus || $purchaseorder->remarks != $request->remarks) {
             $trail->purchaseorder_id = $purchaseorder->id;
             $trail->trail = $trailmessage;
             $trail->save();
         }
         if ($request->newstatus == "closed") {
             $orders = orders::where('purchaseorders_id', $purchaseorder->id)->get();
             foreach ($orders as $order) {
                 $product = products::where('productName', $order->productName)->first();
                 if ($product) {
                     $inventoryCount = new inventorycount();
                     $inventoryCount->type = "withdraw";
                     $inventoryCount->product_id = $product->id;
                     $inventoryCount->amount = $order->quantity;
                     $inventoryCount->save();
                 }
             }
         }
         $purchaseorder->status = $request->newstatus;
         $purchaseorder->remarks = $request->remarks;
         $purchaseorder->save();
         return redirect('/order/' . $request->purchaseorders_id)->with('affirm', 'Status updated successfully');
     }
     if (isset($_POST['saveCustomerDetails'])) {
         if ($purchaseorder->customer_name != $request->customer_name || $purchaseorder->customer_mobile != $request->mobilenumber || $purchaseorder->customer_email != $request->email || $purchaseorder->customer_address != $request->address || $purchaseorder->userverified != $request->customerStatus) {
             $trail = new audittrail();
             if ($purchaseorder->customer_name != $request->customer_name) {
                 $trail->trail .= " updated customer name to " . $request->customer_name . ";";
             }
             if ($purchaseorder->customer_mobile != $request->mobilenumber) {
                 $trail->trail .= " updated customer number to " . $request->mobilenumber . ";";
             }
             if ($purchaseorder->customer_email != $request->email) {
                 $trail->trail .= " updated customer email to " . $request->email . ";";
             }
             if ($purchaseorder->customer_address != $request->address) {
                 $trail->trail .= " updated customer email to " . $request->email . ";";
             }
             if ($purchaseorder->userverified == "" || $purchaseorder->userverified == "unverified") {
                 if ($purchaseorder->userverified != $request->customerStatus) {
                     $trail->trail .= " updated user status to : " . $request->customerStatus;
                 }
             } else {
                 if ($purchaseorder->userverified != $request->customerStatus) {
                     $trail->trail .= " updated user status to : " . $request->customerStatus . ";";
                 }
             }
             $trail->purchaseorder_id = $purchaseorder->id;
             $trail->save();
         }
         $purchaseorder->customer_name = $request->customer_name;
         $purchaseorder->customer_mobile = $request->mobilenumber;
         $purchaseorder->customer_email = $request->email;
         $purchaseorder->customer_address = $request->address;
         $purchaseorder->userverified = $request->customerStatus;
         $purchaseorder->save();
         return redirect('/order/' . $request->purchaseorders_id)->with('affirm', 'Customer details for this order updated successfully');
     }
 }