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

39 lines
1.1 KiB
PHP

<?php
namespace App\Classes\Modules\Orders\Services\ReceiveNote;
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\ReceiveNoteObject;
use App\Classes\ValueObjects\Constants\HttpStatus;
use App\Models\ReceiveNote;
use Illuminate\Http\JsonResponse;
class CreatesReceiveNote
{
/** @var ReceiveNote */
private $repository;
public function __construct()
{
$this->repository = new ReceiveNote();
}
public function execute(OrderObject $order, ReceiveNoteObject $receiveNoteObject){
try{
$this->repository->updateOrCreate(['order_id' => $order->getOrderId()], [
'tracking_no' => $receiveNoteObject->getTrackingNumber()
]);
return new JsonResponse([], HttpStatus::OK);
} catch (\Exception $exception){
throw new InternalServerErrorException("Failed to update receive note because {$exception->getMessage()}");
}
}
}