/** * Change date of an order product * * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function changeDate(Request $request) { $orderData = $request->input('order'); $productData = $request->input('product'); $order = $this->navisionService->updateDate($orderData['key'], $productData['key'], $productData['promisedReceiptDate']); event(with(new ProductChangedEvent($orderData['number'], $productData['number'], $productData['key'], $orderData['navCode']))); return $this->success($order); }
/** * Change date of an order product * * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function changeDate(Request $request) { $orderData = $request->input('order'); $productData = $request->input('product'); $newDate = Carbon::createFromFormat('Y-m-d', $productData['promisedReceiptDate']); $oldDate = Carbon::createFromFormat('Y-m-d', $productData['expectedReceiptDate']); event(with(new ProductChangedEvent($orderData['number'], $productData['number'], $productData['key'], $orderData['navCode']))); //Do not make the order changed if the change is only 2 days if ($oldDate->diffInDays($newDate) > 2) { event(with(new OrderChangedEvent($orderData['number']))); } $order = $this->navisionService->updateDate($orderData['key'], $productData['key'], $newDate->toDateString()); return $this->success($order); }