CancelRegisterRemove.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace Dotdigitalgroup\Email\Observer\Sales;
  3. /**
  4. * Order single delete.
  5. */
  6. class CancelRegisterRemove implements \Magento\Framework\Event\ObserverInterface
  7. {
  8. /**
  9. * @var \Dotdigitalgroup\Email\Helper\Data
  10. */
  11. private $helper;
  12. /**
  13. * @var \Magento\Store\Model\StoreManagerInterface
  14. */
  15. private $storeManager;
  16. /**
  17. * @var \Dotdigitalgroup\Email\Model\ImporterFactory
  18. */
  19. private $importerFactory;
  20. /**
  21. * CancelRegisterRemove constructor.
  22. *
  23. * @param \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory
  24. * @param \Dotdigitalgroup\Email\Helper\Data $data
  25. * @param \Magento\Store\Model\StoreManagerInterface $storeManagerInterface
  26. */
  27. public function __construct(
  28. \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory,
  29. \Dotdigitalgroup\Email\Helper\Data $data,
  30. \Magento\Store\Model\StoreManagerInterface $storeManagerInterface
  31. ) {
  32. $this->importerFactory = $importerFactory;
  33. $this->helper = $data;
  34. $this->storeManager = $storeManagerInterface;
  35. }
  36. /**
  37. * Execute method.
  38. *
  39. * @param \Magento\Framework\Event\Observer $observer
  40. *
  41. * @return $this
  42. */
  43. public function execute(\Magento\Framework\Event\Observer $observer)
  44. {
  45. $order = $observer->getEvent()->getOrder();
  46. $incrementId = $order->getIncrementId();
  47. $websiteId = $this->storeManager->getStore($order->getStoreId())
  48. ->getWebsiteId();
  49. $orderSync = $this->helper->isOrderSyncEnabled($websiteId);
  50. if ($this->helper->isEnabled($websiteId) && $orderSync) {
  51. //register in queue with importer
  52. $this->importerFactory->create()
  53. ->registerQueue(
  54. \Dotdigitalgroup\Email\Model\Importer::IMPORT_TYPE_ORDERS,
  55. [$incrementId],
  56. \Dotdigitalgroup\Email\Model\Importer::MODE_SINGLE_DELETE,
  57. $websiteId
  58. );
  59. }
  60. return $this;
  61. }
  62. }