SaveShipmentSource.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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\InventoryShipping\Model\ResourceModel\ShipmentSource;
  8. use Magento\Framework\App\ResourceConnection;
  9. /**
  10. * Save Shipment Source
  11. */
  12. class SaveShipmentSource
  13. {
  14. /**
  15. * Constant for fields in data array
  16. */
  17. const SHIPMENT_ID = 'shipment_id';
  18. const SOURCE_CODE = 'source_code';
  19. /**
  20. * @var ResourceConnection
  21. */
  22. private $resourceConnection;
  23. /**
  24. * @param ResourceConnection $resourceConnection
  25. */
  26. public function __construct(
  27. ResourceConnection $resourceConnection
  28. ) {
  29. $this->resourceConnection = $resourceConnection;
  30. }
  31. /**
  32. * @param int $shipmentId
  33. * @param string $sourceCode
  34. * @return void
  35. */
  36. public function execute(int $shipmentId, string $sourceCode)
  37. {
  38. $connection = $this->resourceConnection->getConnection();
  39. $tableName = $this->resourceConnection->getTableName('inventory_shipment_source');
  40. $data = [
  41. self::SHIPMENT_ID => $shipmentId,
  42. self::SOURCE_CODE => $sourceCode
  43. ];
  44. $connection->insertOnDuplicate($tableName, $data, [self::SOURCE_CODE]);
  45. }
  46. }