OrderCollectionPoint.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
  4. */
  5. namespace Temando\Shipping\Model\ResourceModel\Delivery;
  6. use Magento\Framework\Model\AbstractModel;
  7. use Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb;
  8. use Temando\Shipping\Api\Data\Delivery\OrderCollectionPointInterface;
  9. use Temando\Shipping\Model\ResourceModel\Db\NoSequenceDb;
  10. use Temando\Shipping\Setup\SetupSchema;
  11. /**
  12. * Temando Order Collection Point Resource Model
  13. *
  14. * @package Temando\Shipping\Model
  15. * @author Benjamin Heuer <benjamin.heuer@netresearch.de>
  16. * @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  17. * @link https://www.temando.com/
  18. */
  19. class OrderCollectionPoint extends NoSequenceDb
  20. {
  21. /**
  22. * Resource initialization
  23. *
  24. * @return void
  25. */
  26. protected function _construct()
  27. {
  28. $this->_init(SetupSchema::TABLE_ORDER_COLLECTION_POINT, OrderCollectionPointInterface::RECIPIENT_ADDRESS_ID);
  29. }
  30. /**
  31. * Perform actions after object load
  32. *
  33. * @param AbstractModel|OrderCollectionPointInterface $object
  34. * @return AbstractDb
  35. */
  36. protected function _afterLoad(AbstractModel $object)
  37. {
  38. $street = $object->getStreet();
  39. if (is_string($street)) {
  40. $exploded = explode("\n", $street);
  41. $object->setData(OrderCollectionPointInterface::STREET, $exploded);
  42. }
  43. return parent::_afterLoad($object);
  44. }
  45. /**
  46. * Perform actions before object save
  47. *
  48. * @param AbstractModel|OrderCollectionPointInterface $object
  49. * @return AbstractDb
  50. */
  51. protected function _beforeSave(AbstractModel $object)
  52. {
  53. $street = $object->getStreet();
  54. if (is_array($street)) {
  55. $imploded = implode("\n", $street);
  56. $object->setData(OrderCollectionPointInterface::STREET, $imploded);
  57. }
  58. return parent::_beforeSave($object);
  59. }
  60. /**
  61. * Perform actions after object save
  62. *
  63. * @param AbstractModel|OrderCollectionPointInterface $object
  64. * @return AbstractDb
  65. */
  66. protected function _afterSave(AbstractModel $object)
  67. {
  68. $street = $object->getStreet();
  69. if (is_string($street)) {
  70. $exploded = explode("\n", $street);
  71. $object->setData(OrderCollectionPointInterface::STREET, $exploded);
  72. }
  73. return parent::_afterSave($object);
  74. }
  75. }