6 declare(strict_types=1);
15 use Magento\InventoryLowQuantityNotificationApi\Api\Data\SourceItemConfigurationInterfaceFactory;
17 use Psr\Log\LoggerInterface;
27 private $getDataResourceModel;
32 private $getDefaultValues;
37 private $sourceItemConfigurationFactory;
42 private $dataObjectHelper;
57 GetDataModel $getDataResourceModel,
59 SourceItemConfigurationInterfaceFactory $sourceItemConfigurationFactory,
61 LoggerInterface $logger
63 $this->getDataResourceModel = $getDataResourceModel;
64 $this->getDefaultValues = $getDefaultValues;
81 }
catch (\Exception $e) {
82 $this->logger->error($e->getMessage());
94 $sourceItemConfigurationData = $this->getDataResourceModel->execute(
$sourceCode, $sku);
96 if (
null === $sourceItemConfigurationData) {
97 $sourceItemConfigurationData = $this->getDefaultValues->execute(
$sourceCode, $sku);
101 $sourceItemConfiguration = $this->sourceItemConfigurationFactory->create();
102 $this->dataObjectHelper->populateWithArray(
103 $sourceItemConfiguration,
104 $sourceItemConfigurationData,
105 SourceItemConfigurationInterface::class
107 return $sourceItemConfiguration;
execute(string $sourceCode, string $sku)
$sourceItemConfigurationFactory
__construct(GetDataModel $getDataResourceModel, GetDefaultValues $getDefaultValues, SourceItemConfigurationInterfaceFactory $sourceItemConfigurationFactory, DataObjectHelper $dataObjectHelper, LoggerInterface $logger)