canUpdateCurrentStep = $canUpdateCurrentStep; $this->updatesOrderCurrentStep = $updatesOrderCurrentStep; $this->fetchesOrder = $fetchesOrder; $this->fetchesOrderSteps = $fetchesOrderSteps; } public function execute(int $orderId, string $currentStep){ $order_object = new OrderStepsObject($currentStep, 0, $currentStep, 0, 0, OrderStatus::PROCESSING, 0, null); $this->canUpdateCurrentStep->passes($order_object); $order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]); $order_steps = $this->fetchesOrderSteps->execute(['order_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING, 'order_by' => 'sequence', 'per_page' => 1]); $this->updatesOrderCurrentStep->execute($orderId, $currentStep); } }