123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace Dotdigitalgroup\Email\Model;
- class Abandoned extends \Magento\Framework\Model\AbstractModel
- {
- /**
- * @var ResourceModel\Abandoned\Collection
- */
- public $abandonedCollectionFactory;
- /**
- * @var \Magento\Framework\Stdlib\DateTime
- */
- private $dateTime;
- /**
- * Abandoned constructor.
- *
- * @param \Magento\Framework\Model\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param ResourceModel\Abandoned\CollectionFactory $abandoned
- * @param \Magento\Framework\Stdlib\DateTime $dateTime
- * @param array $data
- * @param \Magento\Framework\Model\ResourceModel\AbstractResource|null $resource
- * @param \Magento\Framework\Data\Collection\AbstractDb|null $resourceCollection
- */
- public function __construct(
- \Magento\Framework\Model\Context $context,
- \Magento\Framework\Registry $registry,
- \Dotdigitalgroup\Email\Model\ResourceModel\Abandoned\CollectionFactory $abandoned,
- \Magento\Framework\Stdlib\DateTime $dateTime,
- array $data = [],
- \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
- \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null
- ) {
- $this->abandonedCollectionFactory = $abandoned;
- $this->dateTime = $dateTime;
- parent::__construct(
- $context,
- $registry,
- $resource,
- $resourceCollection,
- $data
- );
- }
- /**
- * Constructor.
- *
- * @return null
- */
- public function _construct()
- {
- parent::_construct();
- $this->_init(\Dotdigitalgroup\Email\Model\ResourceModel\Abandoned::class);
- }
- /**
- * Prepare data to be saved to database.
- *
- * @return $this
- */
- public function beforeSave()
- {
- parent::beforeSave();
- if ($this->isObjectNew()) {
- $this->setCreatedAt($this->dateTime->formatDate(true));
- }
- $this->setUpdatedAt($this->dateTime->formatDate(true));
- return $this;
- }
- /**
- * @param int $quoteId
- * @return \Dotdigitalgroup\Email\Model\Abandoned
- */
- public function loadByQuoteId($quoteId)
- {
- $collection = $this->abandonedCollectionFactory->create()
- ->addFieldToFilter('quote_id', $quoteId)
- ->setPageSize(1);
- return $collection->getFirstItem();
- }
- }
|