Files
izyim/app/Http/Controllers/Orders/BulkReceiveNotesController.php
T
Omair Saleh 919e0252f7 large commit
2019-06-03 10:29:08 +08:00

39 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Orders;
use App\Classes\Constants;
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\TrackingNumberObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Classes\Modules\Orders\Processors\WarehouseReceivesOrder;
use App\Classes\Modules\Orders\Services\Attachments\UpdatesTrackingNumber;
use Illuminate\Http\Request;
class BulkReceiveNotesController
{
/**
* @param Request $request
* @param UpdatesTrackingNumber $updatesTrackingNumber
* @throws InternalServerErrorException
*/
public function create(Request $request, UpdatesTrackingNumber $updatesTrackingNumber) {
try{
foreach ($request->input('orders') as $note){
$orderObject = new OrderObject($note['id']);
$trackingNumberObject = new TrackingNumberObject(0, $note['tracking_number']);
$updatesTrackingNumber->execute($orderObject, $trackingNumberObject);
(new WarehouseReceivesOrder($note['id'], $request->input('receive_date')))->execute();
}
} catch (\Exception $exception){
throw new InternalServerErrorException($exception->getMessage());
}
}
}