createsReceiveNote = new CreatesReceiveNote(); } /** * @param OrderObject $order * @param StepObject $step * @param ReceiveNoteObject $object * @return JsonResponse * @throws InternalServerErrorException */ public function execute(OrderObject $order, StepObject $step, ReceiveNoteObject $object){ try { $this->createsReceiveNote->execute($order, $object); $this->completeStep($order, $step); return new JsonResponse(null, HttpStatus::RESOURCE_CREATED); } catch (\Exception $exception){ throw new InternalServerErrorException("Failed to update order step because {$exception->getMessage()}"); } } }