<?php
/**
 * Webkul Software.
 *
 * @category Webkul
 * @package Webkul_MpPaypal
 * @author Webkul
 * @copyright Copyright (c) Webkul Software Private Limited (https://webkul.com)
 * @license https://store.webkul.com/license.html
 */


namespace Webkul\MpPaypal\Model;

use Magento\Framework\DataObject\IdentityInterface;
use Webkul\MpPaypal\Api\Data\MpPaypalInterface;

class MpPaypal extends \Magento\Framework\Model\AbstractModel implements IdentityInterface, MpPaypalInterface
{

    const NOROUTE_ENTITY_ID = 'no-route';

    const CACHE_TAG = 'webkul_mppaypal_mppaypal';

    protected $_cacheTag = 'webkul_mppaypal_mppaypal';

    protected $_eventPrefix = 'webkul_mppaypal_mppaypal';

    /**
     * set resource model
     */
    public function _construct()
    {
        $this->_init(\Webkul\MpPaypal\Model\ResourceModel\MpPaypal::class);
    }

    /**
     * Load No-Route Indexer.
     *
     * @return $this
     */
    public function noRouteReasons()
    {
        return $this->load(self::NOROUTE_ENTITY_ID, $this->getIdFieldName());
    }

    /**
     * Get identities.
     *
     * @return []
     */
    public function getIdentities()
    {
        return [self::CACHE_TAG.'_'.$this->getId()];
    }

    /**
     * set EntityId
     *
     * @param int $entityId
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setEntityId($entityId)
    {
        return $this->setData(self::ENTITY_ID, $entityId);
    }

    /**
     * get EntityId
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getEntityId()
    {
        return parent::getData(self::ENTITY_ID);
    }

    /**
     * set QuoteId
     *
     * @param int $quoteId
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setQuoteId($quoteId)
    {
        return $this->setData(self::QUOTE_ID, $quoteId);
    }

    /**
     * get QuoteId
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getQuoteId()
    {
        return parent::getData(self::QUOTE_ID);
    }

    /**
     * set OrderId
     *
     * @param int $orderId
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setOrderId($orderId)
    {
        return $this->setData(self::ORDER_ID, $orderId);
    }

    /**
     * get OrderId
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getOrderId()
    {
        return parent::getData(self::ORDER_ID);
    }

    /**
     * set SellerId
     *
     * @param int $sellerId
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setSellerId($sellerId)
    {
        return $this->setData(self::SELLER_ID, $sellerId);
    }

    /**
     * get SellerId
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getSellerId()
    {
        return parent::getData(self::SELLER_ID);
    }

    /**
     * set CaptureId
     *
     * @param text $captureId
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setCaptureId($captureId)
    {
        return $this->setData(self::CAPTURE_ID, $captureId);
    }

    /**
     * get CaptureId
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getCaptureId()
    {
        return parent::getData(self::CAPTURE_ID);
    }

    /**
     * set DelayedPaymeny
     *
     * @param int $delayedPaymeny
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setDelayedPaymeny($delayedPaymeny)
    {
        return $this->setData(self::DELAYED_PAYMENY, $delayedPaymeny);
    }

    /**
     * get DelayedPaymeny
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getDelayedPaymeny()
    {
        return parent::getData(self::DELAYED_PAYMENY);
    }

    /**
     * set CreatedAt
     *
     * @param timestamp $createdAt
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setCreatedAt($createdAt)
    {
        return $this->setData(self::CREATED_AT, $createdAt);
    }

    /**
     * get CreatedAt
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getCreatedAt()
    {
        return parent::getData(self::CREATED_AT);
    }

    /**
     * set UpdatedAt
     *
     * @param timestamp $updatedAt
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function setUpdatedAt($updatedAt)
    {
        return $this->setData(self::UPDATED_AT, $updatedAt);
    }

    /**
     * get UpdatedAt
     *
     * @return Webkul\MpPaypal\Model\MpPaypalInterface
     */
    public function getUpdatedAt()
    {
        return parent::getData(self::UPDATED_AT);
    }
}
