<?php
namespace CoreBundle\Entity;
use DateTime;
/**
 * CallbackRequestTxn
 */
class CallbackRequest
{
    /**
     * @var int
     */
    private $id;
    /**
     * @var DateTime
     */
    private $date_create;
    /**
     * @var string
     */
    private $user_phone;
    /**
     * @var DateTime
     */
    private $date_close;
    /**
     * @var ViDiDepartment
     */
    private $department;
    /**
     * @var Dealer
     */
    private $dealer;
    /**
     * @var int
     */
    private $state;
    /**
     * @var int
     */
    private $counter;
    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set dateCreate
     *
     * @param DateTime $date_create
     *
     * @return CallbackRequest
     */
    public function setDateCreate($date_create)
    {
        $this->date_create = $date_create;
        return $this;
    }
    /**
     * Get dateCreate
     *
     * @return DateTime
     */
    public function getDateCreate()
    {
        return $this->date_create;
    }
    /**
     * Set dateClose
     *
     * @param DateTime $date_close
     *
     * @return CallbackRequest
     */
    public function setDateClose($date_close)
    {
        $this->date_close = $date_close;
        return $this;
    }
    /**
     * Get dateClose
     *
     * @return DateTime
     */
    public function getDateClose()
    {
        return $this->date_close;
    }
    /**
     * Set userPhone
     *
     * @param string $user_phone
     *
     * @return CallbackRequest
     */
    public function setUserPhone($user_phone)
    {
        $this->user_phone = $user_phone;
        return $this;
    }
    /**
     * Get userPhone
     *
     * @return string
     */
    public function getUserPhone()
    {
        return $this->user_phone;
    }
    /**
     * Set department
     *
     * @param ViDiDepartment $department
     *
     * @return CallbackRequest
     */
    public function setDepartment(ViDiDepartment $department)
    {
        $this->department = $department;
        return $this;
    }
    /**
     * Get department
     *
     * @return ViDiDepartment
     */
    public function getDepartment()
    {
        return $this->department;
    }
    /**
     * Set dealer
     *
     * @param Dealer $dealer
     *
     * @return CallbackRequest
     */
    public function setDealer(Dealer $dealer)
    {
        $this->dealer = $dealer;
        return $this;
    }
    /**
     * Get dealer
     *
     * @return Dealer
     */
    public function getDealer()
    {
        return $this->dealer;
    }
    /**
     * Set state
     *
     * @param integer $state
     *
     * @return CallbackRequest
     */
    public function setState($state)
    {
        $this->state = $state;
        return $this;
    }
    /**
     * Get state
     *
     * @return int
     */
    public function getState()
    {
        return $this->state;
    }
    /**
     * @var integer
     */
    private $is_notify;
    /**
     * Set isNotify
     *
     * @param integer $isNotify
     *
     * @return CallbackRequest
     */
    public function setIsNotify($isNotify)
    {
        $this->is_notify = $isNotify;
        return $this;
    }
    /**
     * Get isNotify
     *
     * @return integer
     */
    public function getIsNotify()
    {
        return $this->is_notify;
    }
    /**
     * @var string|null
     */
    private $utm;
    /**
     * Set utm.
     *
     * @param string|null $utm
     *
     * @return CallbackRequest
     */
    public function setUtm($utm = null)
    {
        $this->utm = $utm;
        return $this;
    }
    /**
     * Get utm.
     *
     * @return string|null
     */
    public function getUtm()
    {
        return $this->utm;
    }
    public function getCounter(): int
    {
        return $this->counter;
    }
    public function setCounter(int $counter): void
    {
        $this->counter = $counter;
    }
    public function incrementCounter(): self
    {
        $this->counter++;
        return $this;
    }
}