Files
izyim/app/Classes/Modules/Orders/Services/SetsOrderWarehouse.php
T
2019-05-28 10:21:59 +08:00

42 lines
973 B
PHP

<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\Modules\Accounts\Exceptions\CannotUpdateOrderWarehouseException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Models\Order;
class SetsOrderWarehouse
{
/** @var Order */
private $repository;
/**
* SetsOrderWarehouse constructor.
*/
public function __construct()
{
$this->repository = new Order();
}
/**
* @param OrderObject $order
* @throws CannotUpdateOrderWarehouseException
*/
public function execute(OrderObject $order){
try {
/** @var Order $repository */
$repository = $this->repository->findOrFail($order->getOrderId());
$repository->warehouse_id = $order->getWarehouseId();
$repository->save();
} catch (\Exception $exception){
throw new CannotUpdateOrderWarehouseException($exception->getMessage());
}
}
}