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]); } } }
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]); } } }