![]() 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/Ecombricks/InventoryInventoryCatalog/Model/ResourceModel/SourceItemOption/ |
<?php /** * Copyright © eComBricks. All rights reserved. * See LICENSE.txt for license details. */ declare(strict_types=1); namespace Ecombricks\InventoryInventoryCatalog\Model\ResourceModel\SourceItemOption; /** * Delete source item options resource */ class Delete { /** * Connection provider * * @var \Ecombricks\Framework\Model\ResourceModel\Db\ConnectionProvider */ protected $connectionProvider; /** * Table name * * @var string */ protected $tableName; /** * Constructor * * @param \Ecombricks\Framework\Model\ResourceModel\Db\ConnectionProvider $connectionProvider * @param string $tableName * @return void */ public function __construct( \Ecombricks\Framework\Model\ResourceModel\Db\ConnectionProvider $connectionProvider, string $tableName ) { $this->connectionProvider = $connectionProvider; $this->tableName = $tableName; } /** * Get where SQL * * @param \Magento\InventoryInventoryCatalog\Api\Data\SourceItemOptionInterface[] $sourceItemOptions * @return string */ protected function getWhereSql(array $sourceItemOptions): string { $connection = $this->connectionProvider->getConnection(); $subConditions = []; foreach ($sourceItemOptions as $sourceItemOption) { $subConditions[] = $this->connectionProvider->getCondition([ $connection->quoteInto( \Ecombricks\InventoryInventoryCatalog\Api\Data\SourceItemOptionInterface::SKU.' = ?', $sourceItemOption->getSku() ), $connection->quoteInto( \Ecombricks\InventoryInventoryCatalog\Api\Data\SourceItemOptionInterface::SOURCE_CODE.' = ?', $sourceItemOption->getSourceCode() ), ], 'AND'); } return $this->connectionProvider->getCondition($subConditions, 'OR'); } /** * Execute * * @param \Magento\InventoryInventoryCatalog\Api\Data\SourceItemOptionInterface[] $sourceItemOptions * @return \Ecombricks\InventoryInventoryCatalog\Model\ResourceModel\SourceItemOption\Delete */ public function execute(array $sourceItemOptions): \Ecombricks\InventoryInventoryCatalog\Model\ResourceModel\SourceItemOption\Delete { if (empty($sourceItemOptions)) { return $this; } $this->connectionProvider->getConnection()->delete( $this->connectionProvider->getTable($this->tableName), $this->getWhereSql($sourceItemOptions) ); return $this; } }