24 private $caseManagement;
29 private $orderRepository;
34 private $dateTimeFactory;
41 private static $guarantyEligibleDays = 7;
53 $this->caseManagement = $caseManagement;
55 $this->dateTimeFactory = $dateTimeFactory;
66 $case = $this->caseManagement->getByOrderId($orderId);
71 if (
$case->isGuaranteeEligible() ===
false) {
75 $order = $this->getOrder($orderId);
84 if ($this->isOrderOlderThen(static::$guarantyEligibleDays,
$order)) {
100 $orderCreateDate = $this->dateTimeFactory->create(
$order->getCreatedAt(), new \DateTimeZone(
'UTC'));
101 $currentDate = $this->dateTimeFactory->create(
'now',
new \DateTimeZone(
'UTC'));
103 return $orderCreateDate->diff($currentDate)->days >= $days;
112 private function getOrder($orderId)
115 $order = $this->orderRepository->get($orderId);
116 }
catch (InputException $e) {
118 }
catch (NoSuchEntityException $e) {
__construct(CaseManagement $caseManagement, OrderRepositoryInterface $orderRepository, DateTimeFactory $dateTimeFactory)