* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\Order; use Exception; use Order; use PrestaShop\Module\PrestashopCheckout\Order\Exception\OrderException; use PrestaShop\Module\PrestashopCheckout\Order\Exception\OrderNotFoundException; use PrestaShop\Module\PrestashopCheckout\Order\ValueObject\OrderId; class AbstractOrderHandler { /** * @param OrderId $orderId * * @return Order * * @throws OrderException */ protected function getOrder(OrderId $orderId) { try { $order = new Order($orderId->getValue()); } catch (Exception $exception) { throw new OrderNotFoundException(sprintf('Error occurred when trying to get order object #%s', $orderId->getValue()), OrderNotFoundException::NOT_FOUND, $exception); } if ($order->id !== $orderId->getValue()) { throw new OrderNotFoundException(sprintf('Order with id "%d" was not found.', $orderId->getValue()), OrderNotFoundException::NOT_FOUND); } return $order; } }