/**
  * 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);
 }