Пример #1
0
 public function deleteOrderDetail(Request $request)
 {
     $orderService = new orderService();
     $orderId = $request->input('orderId');
     $orderDetailId = $request->input('orderDetailId');
     try {
         $order = $orderService->getOrderById($orderId);
         $orderDetail = $orderService->getOrderDetailById($orderDetailId);
         $originTotal = $order->origin_total - $orderDetail->price * $orderDetail->quantity;
         $total = $order->total - $orderDetail->subtotal;
         $discount = $order->discount - $orderDetail->discount;
         $quantity = $order->quantity - $orderDetail->quantity;
         $dataOrder = ['total' => $total, 'origin_total' => $originTotal, 'quantity' => $quantity, 'discount' => $discount];
         $orderService->updateOrder($orderId, $dataOrder);
         $orderService->deleteOrderDetail($orderId, $orderDetailId);
         return redirect('/order/edit/' . $order->order_code);
     } catch (\Exception $e) {
         if ($request->ajax()) {
             $result['error'] = $e->getMessage();
             return $result;
         } else {
             return view('errors.404', ['error_message' => $e]);
         }
     }
 }
Пример #2
0
 public function addProductToOrder(Request $request)
 {
     $productService = new productService();
     $orderService = new orderService();
     $orderId = $request->input('orderId');
     $productId = $request->input('productId');
     try {
         $order = $orderService->getOrderById($orderId);
         $total = $order->total;
         $discount = $order->discount;
         $originTotal = $order->origin_total;
         $quantity = $order->quantity;
         $product = $productService->getProductById($productId);
         $productDiscount = 0;
         if ($product->mainDiscount) {
             $productDiscount = $product->mainDiscount;
         } elseif ($product->discount) {
             $productDiscount = $product->discount;
         }
         $orderDetailData = new \stdClass();
         $orderDetailData->order_id = $orderId;
         $orderDetailData->name = $product->name;
         $orderDetailData->price = $product->sell_price;
         $orderDetailData->discount = $product->discount;
         $orderDetailData->quantity = 1;
         $orderDetailData->product_id = $product->id;
         $orderDetailData->product_url = urlProductDetail($product);
         $orderDetailData->image = $product->image;
         $orderDetailData->subtotal = $product->sell_price - $productDiscount;
         $orderService->createOrderDetailAdmin($orderDetailData);
         $total += $product->sell_price - $productDiscount;
         $discount += $productDiscount;
         $originTotal += $product->sell_price;
         $quantity += 1;
         $dataOrder = ['total' => $total, 'origin_total' => $originTotal, 'quantity' => $quantity, 'discount' => $discount];
         $orderService->updateOrder($orderId, $dataOrder);
         return redirect('/order/edit/' . $orderId);
     } catch (\Exception $e) {
         if ($request->ajax()) {
             $result['error'] = $e->getMessage();
             return $result;
         } else {
             return view('errors.404', ['error_message' => $e]);
         }
     }
 }