Files
izyim/app/Classes/Modules/Orders/Services/UpdatesOrderSteps.php
T
omair saleh 8a28eb1790 Revert "Merge branch 'dashboardReport' into 'master'"
This reverts merge request !5
2019-03-19 09:57:38 +00:00

56 lines
1.6 KiB
PHP

<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Classes\ValueObjects\Constants\HttpStatus;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UpdatesOrderSteps
{
/** @var ProcessesOrderStep */
private $processesOrderStep;
/** @var CompletesOrderStep */
private $completesOrderStep;
/** @var UpdatesOrderCurrentStep */
private $updatesOrderCurrentStep;
/**
* UpdatesOrderSteps constructor.
* @param ProcessesOrderStep $processesOrderStep
* @param CompletesOrderStep $completesOrderStep
* @param UpdatesOrderCurrentStep $updatesOrderCurrentStep
*/
public function __construct(ProcessesOrderStep $processesOrderStep, CompletesOrderStep $completesOrderStep, UpdatesOrderCurrentStep $updatesOrderCurrentStep)
{
$this->processesOrderStep = $processesOrderStep;
$this->completesOrderStep = $completesOrderStep;
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
}
/**
* @param OrderObject $order
* @param StepObject $step
* @param Request $request
* @return JsonResponse
*/
public function execute(OrderObject $order, StepObject $step, Request $request) {
if($this->processesOrderStep->execute($order, $step, $request)){
$this->completesOrderStep->execute($order, $step);
$this->updatesOrderCurrentStep->execute($order, $step);
}
return new JsonResponse(null, HttpStatus::OK);
}
}