DeleteMultiple.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\InventoryLowQuantityNotification\Model\SourceItemConfiguration;
  8. use Magento\Framework\Exception\CouldNotDeleteException;
  9. use Magento\InventoryLowQuantityNotification\Model\ResourceModel\SourceItemConfiguration\DeleteMultiple
  10. as DeleteResourceModel;
  11. use Magento\InventoryLowQuantityNotificationApi\Api\DeleteSourceItemsConfigurationInterface;
  12. use Psr\Log\LoggerInterface;
  13. use Magento\InventoryLowQuantityNotificationApi\Api\DeleteSourceItemConfigurationInterface;
  14. /**
  15. * @inheritdoc
  16. */
  17. class DeleteMultiple implements DeleteSourceItemsConfigurationInterface
  18. {
  19. /**
  20. * @var DeleteResourceModel
  21. */
  22. private $deleteResourceModel;
  23. /**
  24. * @var LoggerInterface
  25. */
  26. private $logger;
  27. /**
  28. * DeleteMultiple constructor.
  29. * @param DeleteResourceModel $deleteResourceModel
  30. * @param LoggerInterface $logger
  31. */
  32. public function __construct(
  33. DeleteResourceModel $deleteResourceModel,
  34. LoggerInterface $logger
  35. ) {
  36. $this->deleteResourceModel = $deleteResourceModel;
  37. $this->logger = $logger;
  38. }
  39. /**
  40. * @inheritdoc
  41. */
  42. public function execute(array $sourceItems): void
  43. {
  44. try {
  45. $this->deleteResourceModel->execute($sourceItems);
  46. } catch (\Exception $e) {
  47. $this->logger->error($e->getMessage());
  48. throw new CouldNotDeleteException(__('Could not delete SourceItems Configuration.'), $e);
  49. }
  50. }
  51. }