Files
izyim/app/Classes/Modules/Orders/Processors/ConfirmsOrder.php
T
Omair Saleh 919e0252f7 large commit
2019-06-03 10:29:08 +08:00

57 lines
1.4 KiB
PHP

<?php
namespace App\Classes\Modules\Orders\Processors;
use App\Classes\Constants;
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Classes\Modules\Orders\Services\Steps\GenerateOrderSteps;
use Illuminate\Http\JsonResponse;
class ConfirmsOrder extends AbstractStepProcessor
{
/** @var string */
const STEP_REFERENCE = Constants::ORDER_PROCESSING_STEP;
/** @var OrderObject */
private $order;
/** @var StepObject */
private $step;
/**
* WarehousePackOrder constructor.
* @param int $orderId
* @param string $completeDate
*/
public function __construct(int $orderId, string $completeDate = null)
{
$this->order = new OrderObject($orderId);
$this->step = new StepObject(self::STEP_REFERENCE, $completeDate);
}
/**
* @return bool
*/
public function validator(): bool {
return true;
}
/**
* @return JsonResponse
* @throws InternalServerErrorException
* @throws \App\Classes\Modules\Accounts\Exceptions\CannotCreateOrderStepsException
*/
public function execute(): JsonResponse {
(new generateOrderSteps())->execute($this->order);
return $this->handler($this->order, $this->step);
}
}