ItemToSell.php 3.0 KB

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