mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-08-19 04:24:00 +00:00
8a28eb1790
This reverts merge request !5
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Orders\Services;
|
|
|
|
|
|
use App\Classes\Constants;
|
|
use App\Classes\Modules\Accounts\Exceptions\CannotCreateOrderException;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Models\Order;
|
|
|
|
class CreatesOrder
|
|
{
|
|
|
|
/** @var Order */
|
|
private $repository;
|
|
|
|
/**
|
|
* CreatesOrder constructor.
|
|
* @param Order $repository
|
|
*/
|
|
public function __construct(Order $repository)
|
|
{
|
|
$this->repository = $repository;
|
|
}
|
|
|
|
/**
|
|
* @param OrderObject $order
|
|
* @return Order
|
|
* @throws CannotCreateOrderException
|
|
*/
|
|
public function execute(OrderObject $order): ?Order {
|
|
|
|
try {
|
|
|
|
$this->repository->company_id = $order->getCompanyId();
|
|
$this->repository->marking = $order->getOrderId();
|
|
$this->repository->current_step = Constants::ORDER_PROCESSING_STEP;
|
|
|
|
$this->repository->save();
|
|
|
|
return $this->repository;
|
|
|
|
} catch (\Exception $exception){
|
|
throw new CannotCreateOrderException($exception->getMessage());
|
|
}
|
|
|
|
}
|
|
|
|
} |