mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 17:27:36 +00:00
71 lines
2.0 KiB
PHP
71 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\ProductAlert\Model\ResourceModel;
|
|
|
|
/**
|
|
* Product alert for changed price resource model
|
|
*
|
|
* @api
|
|
* @since 100.0.2
|
|
*/
|
|
class Price extends \Magento\ProductAlert\Model\ResourceModel\AbstractResource
|
|
{
|
|
/**
|
|
* @var \Magento\Framework\Stdlib\DateTime\DateTimeFactory
|
|
*/
|
|
protected $_dateFactory;
|
|
|
|
/**
|
|
* @param \Magento\Framework\Model\ResourceModel\Db\Context $context
|
|
* @param \Magento\Framework\Stdlib\DateTime\DateTimeFactory $dateFactory
|
|
* @param string $connectionName
|
|
*/
|
|
public function __construct(
|
|
\Magento\Framework\Model\ResourceModel\Db\Context $context,
|
|
\Magento\Framework\Stdlib\DateTime\DateTimeFactory $dateFactory,
|
|
$connectionName = null
|
|
) {
|
|
$this->_dateFactory = $dateFactory;
|
|
parent::__construct($context, $connectionName);
|
|
}
|
|
|
|
/**
|
|
* Initialize connection
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function _construct()
|
|
{
|
|
$this->_init('product_alert_price', 'alert_price_id');
|
|
}
|
|
|
|
/**
|
|
* Before save process, check exists the same alert
|
|
*
|
|
* @param \Magento\Framework\Model\AbstractModel $object
|
|
* @return $this
|
|
*/
|
|
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
|
|
{
|
|
if ($object->getId() === null && $object->getCustomerId() && $object->getProductId() && $object->getWebsiteId()
|
|
) {
|
|
if ($row = $this->_getAlertRow($object)) {
|
|
$price = $object->getPrice();
|
|
$object->addData($row);
|
|
if ($price) {
|
|
$object->setPrice($price);
|
|
}
|
|
$object->setStatus(0);
|
|
}
|
|
}
|
|
if ($object->getAddDate() === null) {
|
|
$object->setAddDate($this->_dateFactory->create()->gmtDate());
|
|
}
|
|
return parent::_beforeSave($object);
|
|
}
|
|
}
|