SourceDeductionRequest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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\InventorySourceDeductionApi\Model;
  8. use Magento\InventorySalesApi\Api\Data\SalesEventInterface;
  9. use Magento\InventorySalesApi\Api\Data\SalesChannelInterface;
  10. /**
  11. * @inheritdoc
  12. */
  13. class SourceDeductionRequest implements SourceDeductionRequestInterface
  14. {
  15. /**
  16. * @var string
  17. */
  18. private $sourceCode;
  19. /**
  20. * @var ItemToDeductInterface[]
  21. */
  22. private $items;
  23. /**
  24. * @var SalesChannelInterface
  25. */
  26. private $salesChannel;
  27. /**
  28. * @var SalesEventInterface
  29. */
  30. private $salesEvent;
  31. /**
  32. * @param string $sourceCode
  33. * @param array $items
  34. * @param SalesChannelInterface $salesChannel
  35. * @param SalesEventInterface $salesEvent
  36. */
  37. public function __construct(
  38. string $sourceCode,
  39. array $items,
  40. SalesChannelInterface $salesChannel,
  41. SalesEventInterface $salesEvent
  42. ) {
  43. $this->sourceCode = $sourceCode;
  44. $this->items = $items;
  45. $this->salesChannel = $salesChannel;
  46. $this->salesEvent = $salesEvent;
  47. }
  48. /**
  49. * @inheritdoc
  50. */
  51. public function getSourceCode(): string
  52. {
  53. return $this->sourceCode;
  54. }
  55. /**
  56. * @inheritdoc
  57. */
  58. public function getItems(): array
  59. {
  60. return $this->items;
  61. }
  62. /**
  63. * @inheritdoc
  64. */
  65. public function getSalesChannel(): SalesChannelInterface
  66. {
  67. return $this->salesChannel;
  68. }
  69. /**
  70. * @inheritdoc
  71. */
  72. public function getSalesEvent(): SalesEventInterface
  73. {
  74. return $this->salesEvent;
  75. }
  76. }