ItemRequest.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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\InventorySourceSelection\Model\Request;
  8. use Magento\InventorySourceSelectionApi\Api\Data\ItemRequestInterface;
  9. use Magento\InventorySourceSelectionApi\Api\Data\ItemRequestExtensionInterface;
  10. use Magento\Framework\Model\AbstractExtensibleModel;
  11. /**
  12. * @inheritdoc
  13. */
  14. class ItemRequest extends AbstractExtensibleModel implements ItemRequestInterface
  15. {
  16. /**
  17. * @var string
  18. */
  19. private $sku;
  20. /**
  21. * @var float
  22. */
  23. private $qty;
  24. /**
  25. * ItemRequest constructor.
  26. *
  27. * @param \Magento\Framework\Model\Context $context
  28. * @param \Magento\Framework\Registry $registry
  29. * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory
  30. * @param \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory
  31. * @param string|null $sku
  32. * @param float|null $qty
  33. * @param \Magento\Framework\Model\ResourceModel\AbstractResource|null $resource
  34. * @param \Magento\Framework\Data\Collection\AbstractDb|null $resourceCollection
  35. * @param array $data
  36. * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  37. */
  38. public function __construct(
  39. \Magento\Framework\Model\Context $context,
  40. \Magento\Framework\Registry $registry,
  41. \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory,
  42. \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory,
  43. string $sku = null,
  44. float $qty = null,
  45. \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
  46. \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
  47. array $data = []
  48. ) {
  49. parent::__construct(
  50. $context,
  51. $registry,
  52. $extensionFactory,
  53. $customAttributeFactory,
  54. $resource,
  55. $resourceCollection,
  56. $data
  57. );
  58. $this->sku = $sku;
  59. $this->qty = $qty;
  60. }
  61. /**
  62. * @inheritdoc
  63. */
  64. public function getSku(): string
  65. {
  66. return $this->sku;
  67. }
  68. /**
  69. * @inheritdoc
  70. */
  71. public function getQty(): float
  72. {
  73. return $this->qty;
  74. }
  75. /**
  76. * @inheritdoc
  77. */
  78. public function setSku(string $sku): void
  79. {
  80. $this->sku = $sku;
  81. }
  82. /**
  83. * @inheritdoc
  84. */
  85. public function setQty(float $qty): void
  86. {
  87. $this->qty = $qty;
  88. }
  89. /**
  90. * @inheritdoc
  91. */
  92. public function getExtensionAttributes(): ?ItemRequestExtensionInterface
  93. {
  94. $extensionAttributes = $this->_getExtensionAttributes();
  95. if (null === $extensionAttributes) {
  96. $extensionAttributes = $this->extensionAttributesFactory->create(ItemRequestInterface::class);
  97. $this->setExtensionAttributes($extensionAttributes);
  98. }
  99. return $extensionAttributes;
  100. }
  101. /**
  102. * @inheritdoc
  103. */
  104. public function setExtensionAttributes(ItemRequestExtensionInterface $extensionAttributes): void
  105. {
  106. $this->_setExtensionAttributes($extensionAttributes);
  107. }
  108. }