mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\OrderSteps\Processors;
|
|
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
|
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
|
use App\Classes\Modules\OrderSteps\Services\UpdatesOrderSteps;
|
|
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
|
use App\Classes\Modules\OrderSteps\Standards\Rules\CanUpdateOrderStep;
|
|
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
|
use App\Classes\ValueObjects\Constants\OrderStatus;
|
|
use App\Classes\ValueObjects\Constants\OrderSteps;
|
|
use App\Models\Order;
|
|
use App\Models\OrderStep;
|
|
|
|
class UpdateOrderStepsProcessor
|
|
{
|
|
private $canUpdateOrderStep;
|
|
|
|
private $updatesOrderSteps;
|
|
|
|
private $fetchesOrderSteps;
|
|
|
|
public function __construct(CanUpdateOrderStep $canUpdateOrderStep, UpdatesOrderSteps $updatesOrderSteps, FetchesOrderSteps $fetchesOrderSteps )
|
|
{
|
|
$this->canUpdateOrderStep = $canUpdateOrderStep;
|
|
$this->updatesOrderSteps = $updatesOrderSteps;
|
|
$this->fetchesOrderSteps = $fetchesOrderSteps;
|
|
}
|
|
|
|
public function execute(string $currentStep){
|
|
|
|
$orderStepsObject = new OrderStepsObject(0,0,$currentStep, 0, 0, 1, 1, null);
|
|
|
|
$this->canUpdateOrderStep->passes($orderStepsObject);
|
|
|
|
$orderSteps = $this->fetchesOrderSteps->execute(['reference'=>$currentStep]);
|
|
|
|
$this->updatesOrderSteps->execute($orderSteps, $orderStepsObject);
|
|
|
|
}
|
|
}
|