![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Ecombricks/InventoryCommon/Model/Import/SourceItem/Option/ |
<?php /** * Copyright © eComBricks. All rights reserved. * See LICENSE.txt for license details. */ declare(strict_types=1); namespace Ecombricks\InventoryCommon\Model\Import\SourceItem\Option; /** * Source item option convert */ class Convert { /** * Option factory * * @var \Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterfaceFactory */ private $optionFactory; /** * Source item option meta * * @var \Ecombricks\InventoryCommon\Model\SourceItem\Option\Meta */ private $optionMeta; /** * Data object helper * * @var \Magento\Framework\Api\DataObjectHelper */ private $dataObjectHelper; /** * Constructor * * @param \Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterfaceFactory $optionFactory * @param \Ecombricks\InventoryCommon\Model\SourceItem\Option\Meta $optionMeta * @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper * @return void */ public function __construct( \Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterfaceFactory $optionFactory, \Ecombricks\InventoryCommon\Model\SourceItem\Option\Meta $optionMeta, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper ) { $this->optionFactory = $optionFactory; $this->optionMeta = $optionMeta; $this->dataObjectHelper = $dataObjectHelper; } /** * Convert * * @param array $bunch * @return \Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterface[] */ public function convert(array $bunch): array { $optionName = $this->optionMeta->getName(); $options = []; foreach ($bunch as $optionData) { $optionData[\Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterface::VALUE] = $optionData[$optionName] ?? null; $option = $this->optionFactory->create(); $this->dataObjectHelper->populateWithArray( $option, $optionData, \Ecombricks\InventoryCommon\Api\Data\SourceItemOptionInterface::class ); $options[] = $option; } return $options; } }