diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/CompletePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/CompletePackingListLogic.php new file mode 100644 index 00000000..a96074c0 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/CompletePackingListLogic.php @@ -0,0 +1,61 @@ + 'Updated PackingList', + 'message' => 'You have successfully updated the PackingList' + ]; + } + + + /** @var UpdatesPackingListStatus */ + private $updatesPackingListStatus; + + /** @var FetchesPackingList */ + private $fetchesPackingList; + + /** + * CompletePackingListLogic constructor. + * @param CanUpdatePackingList $canUpdatePackingList + * @param UpdatesPackingListStatus $updatesPackingListStatus + * @param FetchesPackingList $fetchesPackingList + */ + public function __construct(UpdatesPackingListStatus $updatesPackingListStatus, FetchesPackingList $fetchesPackingList) + { + $this->updatesPackingListStatus = $updatesPackingListStatus; + $this->fetchesPackingList = $fetchesPackingList; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $packing_list = $this->fetchesPackingList->execute(['id' => $request->route('id')]); + $query = $this->updatesPackingListStatus->execute($packing_list, ApprovalStatus::COMPLETED); + return $this->resourceResponse(new PackingListResource($packing_list)); + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/ReschedulePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/ReschedulePackingListLogic.php index 8f2ca463..097b7e1e 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/ReschedulePackingListLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/ReschedulePackingListLogic.php @@ -9,7 +9,7 @@ use App\Classes\Modules\Schedules\Services\UpdatesScheduleStatus; use App\Classes\Modules\Schedules\DataTransferObjects\ScheduleObject; use App\Classes\ValueObjects\Constants\ApprovalStatus; -use App\Http\Resources\ContainerResource; +use App\Http\Resources\PackingListResource; use ErrorException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -22,8 +22,8 @@ class ReschedulePackingListLogic extends AbstractControllerLogic */ protected function notification():array { return [ - 'title' => 'Reschedule Container', - 'message' => 'You have successfully Reschedule Container' + 'title' => 'Reschedule Packing List', + 'message' => 'You have successfully Reschedule Packing List' ]; } @@ -56,10 +56,10 @@ class ReschedulePackingListLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - dd('yesss'); try { - $container = $this->fetchesPackingList->execute(['id' => $request->route('id')]); - $transport = $container->transports()->first(); + $packing_list = $this->fetchesPackingList->execute(['id' => $request->route('id')]); + + $transport = $packing_list->transports()->first(); $old_sechedule = $transport->schedules()->first(); @@ -72,7 +72,7 @@ class ReschedulePackingListLogic extends AbstractControllerLogic ); $schedule = $this->createsSchedule->execute($transport, $scheduleObject); - return $this->resourceResponse(new ContainerResource($container)); + return $this->resourceResponse(new PackingListResource($packing_list)); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDispatchDatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDispatchDatePackingListLogic.php new file mode 100644 index 00000000..85970894 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDispatchDatePackingListLogic.php @@ -0,0 +1,60 @@ + 'Updated Dispatch Date Packing List', + 'message' => 'You have successfully updated the Dispatch Date Packing List' + ]; + } + + + /** @var UpdatesDispatchDateTransport */ + private $updatesDispatchDateTransport; + + /** @var FetchesPackingList */ + private $fetchesPackingList; + + /** + * UpdateDispatchDatePackingListLogic constructor. + * @param CanUpdateContainer $canUpdateContainer + * @param UpdatesDispatchDateTransport $updatesDispatchDateTransport + * @param FetchesPackingList $fetchesPackingList + */ + public function __construct(UpdatesDispatchDateTransport $updatesDispatchDateTransport, FetchesPackingList $fetchesPackingList) + { + $this->updatesDispatchDateTransport = $updatesDispatchDateTransport; + $this->fetchesPackingList = $fetchesPackingList; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $packing_list = $this->fetchesPackingList->execute(['id' => $request->route('id')]); + $transport = $packing_list->transports()->first(); + $query = $this->updatesDispatchDateTransport->execute($transport, Carbon::parse($request->input('dispatch_date'))); + return $this->resourceResponse(new PackingListResource($packing_list)); + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDropDatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDropDatePackingListLogic.php new file mode 100644 index 00000000..3ee81faa --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/UpdateDropDatePackingListLogic.php @@ -0,0 +1,60 @@ + 'Updated Drop Date Packing List', + 'message' => 'You have successfully updated the Drop Date Packing List' + ]; + } + + + /** @var UpdatesDropDateTransport */ + private $updatesDropDateTransport; + + /** @var FetchesPackingList */ + private $fetchesPackingList; + + /** + * UpdateDispatchDatePackingListLogic constructor. + * @param CanUpdateContainer $canUpdateContainer + * @param UpdatesDropDateTransport $updatesDropDateTransport + * @param FetchesPackingList $fetchesPackingList + */ + public function __construct(UpdatesDropDateTransport $updatesDropDateTransport, FetchesPackingList $fetchesPackingList) + { + $this->updatesDropDateTransport = $updatesDropDateTransport; + $this->fetchesPackingList = $fetchesPackingList; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $packing_list = $this->fetchesPackingList->execute(['id' => $request->route('id')]); + $transport = $packing_list->transports()->first(); + $query = $this->updatesDropDateTransport->execute($transport, Carbon::parse($request->input('drop_date'))); + return $this->resourceResponse(new PackingListResource($packing_list)); + } + +} diff --git a/app/Http/Controllers/PackingLists/CompletePackingListController.php b/app/Http/Controllers/PackingLists/CompletePackingListController.php new file mode 100644 index 00000000..504c7b51 --- /dev/null +++ b/app/Http/Controllers/PackingLists/CompletePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/UpdateDispatchDatePackingListController.php b/app/Http/Controllers/PackingLists/UpdateDispatchDatePackingListController.php new file mode 100644 index 00000000..af3e818d --- /dev/null +++ b/app/Http/Controllers/PackingLists/UpdateDispatchDatePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/app/Http/Controllers/PackingLists/UpdateDropDatePackingListController.php b/app/Http/Controllers/PackingLists/UpdateDropDatePackingListController.php new file mode 100644 index 00000000..8580246d --- /dev/null +++ b/app/Http/Controllers/PackingLists/UpdateDropDatePackingListController.php @@ -0,0 +1,20 @@ +execute($request); + } + +}