Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CreationService.php
Go to the documentation of this file.
1 <?php
7 
15 use Psr\Log\LoggerInterface;
16 
23 {
27  private $caseManagement;
28 
32  private $signifydGateway;
33 
37  private $logger;
38 
42  private $caseRepository;
43 
47  private $orderGridUpdater;
48 
52  private $orderStateService;
53 
64  public function __construct(
65  CaseManagementInterface $caseManagement,
66  Gateway $signifydGateway,
67  LoggerInterface $logger,
68  CaseRepositoryInterface $caseRepository,
69  OrderGridUpdater $orderGridUpdater,
70  OrderStateService $orderStateService
71  ) {
72  $this->caseManagement = $caseManagement;
73  $this->signifydGateway = $signifydGateway;
74  $this->logger = $logger;
75  $this->caseRepository = $caseRepository;
76  $this->orderGridUpdater = $orderGridUpdater;
77  $this->orderStateService = $orderStateService;
78  }
79 
83  public function createForOrder($orderId)
84  {
85  $case = $this->caseManagement->create($orderId);
86  $this->orderGridUpdater->update($orderId);
87 
88  try {
89  $caseId = $this->signifydGateway->createCase($orderId);
90  } catch (GatewayException $e) {
91  $this->logger->error($e->getMessage());
92  return true;
93  }
94 
95  $case->setCaseId($caseId);
96  $this->caseRepository->save($case);
97  $this->orderStateService->updateByCase($case);
98 
99  return true;
100  }
101 }
$case
$caseRepository
$logger
__construct(CaseManagementInterface $caseManagement, Gateway $signifydGateway, LoggerInterface $logger, CaseRepositoryInterface $caseRepository, OrderGridUpdater $orderGridUpdater, OrderStateService $orderStateService)