Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
OrderStateService.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Signifyd\Model;
7 
10 use Magento\Sales\Model\OrderFactory;
12 
17 {
21  private $orderFactory;
22 
26  private $orderManagement;
27 
31  private $commentsHistoryUpdater;
32 
38  public function __construct(
39  OrderFactory $orderFactory,
40  OrderManagementInterface $orderManagement,
41  CommentsHistoryUpdater $commentsHistoryUpdater
42  ) {
43  $this->orderFactory = $orderFactory;
44  $this->orderManagement = $orderManagement;
45  $this->commentsHistoryUpdater = $commentsHistoryUpdater;
46  }
47 
54  public function updateByCase(CaseInterface $case)
55  {
56  $orderId = $case->getOrderId();
57 
58  switch ($case->getGuaranteeDisposition()) {
60  $this->unHold($orderId);
61  break;
63  $this->hold($orderId);
64  break;
66  if ($this->hold($orderId)) {
67  $this->commentsHistoryUpdater->addComment(
68  $case,
69  __('Awaiting the Signifyd guarantee disposition.'),
71  );
72  }
73  break;
74  }
75  }
76 
83  private function unHold($orderId)
84  {
85  $order = $this->getOrder($orderId);
86  if ($order->canUnhold()) {
87  return $this->orderManagement->unHold($orderId);
88  }
89 
90  return false;
91  }
92 
99  private function hold($orderId)
100  {
101  $order = $this->getOrder($orderId);
102  if ($order->canHold()) {
103  return $this->orderManagement->hold($orderId);
104  }
105 
106  return false;
107  }
108 
115  private function getOrder($orderId)
116  {
117  return $this->orderFactory->create()->load($orderId);
118  }
119 }
__construct(OrderFactory $orderFactory, OrderManagementInterface $orderManagement, CommentsHistoryUpdater $commentsHistoryUpdater)
$case
$order
Definition: order.php:55
__()
Definition: __.php:13
$orderManagement
Definition: case.php:14