OrderReference.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
  4. */
  5. namespace Temando\Shipping\Model\Order;
  6. use Magento\Framework\Model\AbstractModel;
  7. use Magento\Framework\Model\Context;
  8. use Magento\Framework\Model\ResourceModel\AbstractResource;
  9. use Magento\Framework\Registry;
  10. use Magento\Framework\Data\Collection\AbstractDb;
  11. use Temando\Shipping\Api\Data\Order\OrderReferenceInterface;
  12. use Temando\Shipping\Api\Data\Order\ShippingExperienceInterfaceFactory;
  13. use Temando\Shipping\Model\ResourceModel\Order\OrderReference as OrderReferenceResource;
  14. /**
  15. * Reference to order entity created at Temando platform
  16. *
  17. * @package Temando\Shipping\Model
  18. * @author Christoph Aßmann <christoph.assmann@netresearch.de>
  19. * @author Sebastian Ertner <sebastian.ertner@netresearch.de>
  20. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  21. * @link http://www.temando.com/
  22. */
  23. class OrderReference extends AbstractModel implements OrderReferenceInterface
  24. {
  25. /**
  26. * @var ShippingExperienceInterfaceFactory
  27. */
  28. private $shippingExperienceFactory;
  29. /**
  30. * OrderReference constructor.
  31. * @param Context $context
  32. * @param Registry $registry
  33. * @param ShippingExperienceInterfaceFactory $shippingExperienceFactory
  34. * @param AbstractResource|null $resource
  35. * @param AbstractDb|null $resourceCollection
  36. * @param mixed[] $data
  37. */
  38. public function __construct(
  39. Context $context,
  40. Registry $registry,
  41. ShippingExperienceInterfaceFactory $shippingExperienceFactory,
  42. AbstractResource $resource = null,
  43. AbstractDb $resourceCollection = null,
  44. array $data = []
  45. ) {
  46. $this->shippingExperienceFactory = $shippingExperienceFactory;
  47. parent::__construct($context, $registry, $resource, $resourceCollection, $data);
  48. }
  49. /**
  50. * Init resource model.
  51. * @return void
  52. */
  53. protected function _construct()
  54. {
  55. parent::_construct();
  56. $this->_init(OrderReferenceResource::class);
  57. }
  58. /**
  59. * @return int
  60. */
  61. public function getOrderId()
  62. {
  63. return $this->getData(OrderReferenceInterface::ORDER_ID);
  64. }
  65. /**
  66. * @param int $orderId
  67. * @return void
  68. */
  69. public function setOrderId($orderId)
  70. {
  71. $this->setData(OrderReferenceInterface::ORDER_ID, $orderId);
  72. }
  73. /**
  74. * @return string
  75. */
  76. public function getExtOrderId()
  77. {
  78. return $this->getData(OrderReferenceInterface::EXT_ORDER_ID);
  79. }
  80. /**
  81. * @param string $extOrderId
  82. * @return void
  83. */
  84. public function setExtOrderId($extOrderId)
  85. {
  86. $this->setData(OrderReferenceInterface::EXT_ORDER_ID, $extOrderId);
  87. }
  88. /**
  89. * @return \Temando\Shipping\Api\Data\Order\ShippingExperienceInterface[]
  90. */
  91. public function getShippingExperiences()
  92. {
  93. return $this->getData(OrderReferenceInterface::SHIPPING_EXPERIENCES);
  94. }
  95. /**
  96. * @param \Temando\Shipping\Api\Data\Order\ShippingExperienceInterface[] $shippingExperiences
  97. * @return void
  98. */
  99. public function setShippingExperiences(array $shippingExperiences)
  100. {
  101. $this->setData(OrderReferenceInterface::SHIPPING_EXPERIENCES, $shippingExperiences);
  102. }
  103. }