<?php
namespace CoreBundle\Entity;
use Application\Sonata\MediaBundle\Entity\Media;
/**
 * Worker
 */
class ViDiWorker
{
    /**
     * @var integer
     */
    private $id;
    /**
     * @var string
     */
    private $name_ru;
    /**
     * @var string
     */
    private $name_ua;
    /**
     * @var integer
     */
    private $telegram_id;
    /**
     * @var string
     */
    private $telegram_name;
    /**
     * @var integer
     */
    private $last_chat_id;
    /**
     * @var Dealer
     */
    private $dealer;
    /**
     * @var string
     */
    private $phone_mobile;
    /**
     * @var string
     */
    private $phone_internal;
    /**
     * @var ViDiDepartment
     */
    private $department;
    /**
     * @var Media
     */
    private $photo;
    /**
     * @var int
     */
    private $callback_available;
    /**
     * @var smallint
     */
    private $position_worker;
    /**
     * @var array|null
     */
    private $show_on_pages;
    /**
     * @return string
     */
    public function __toString()
    {
        return (string)$this->getName();
    }
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * @param string $name_ru
     * @return ViDiWorker
     */
    public function setNameRu($name_ru)
    {
        $this->name_ru = $name_ru;
        return $this;
    }
    /**
     * @return string
     */
    public function getNameRu()
    {
        return $this->name_ru;
    }
    /**
     * @param string $name_ua
     * @return ViDiWorker
     */
    public function setNameUa($name_ua)
    {
        $this->name_ua = $name_ua;
        return $this;
    }
    /**
     * @return string
     */
    public function getNameUa()
    {
        return $this->name_ua;
    }
    /**
     * Set telegramId
     *
     * @param integer $telegramId
     *
     * @return ViDiWorker
     */
    public function setTelegramId($telegramId)
    {
        $this->telegram_id = $telegramId;
        return $this;
    }
    /**
     * Get telegramId
     *
     * @return integer
     */
    public function getTelegramId()
    {
        return $this->telegram_id;
    }
    /**
     * Set telegramName
     *
     * @param string $telegramName
     *
     * @return ViDiWorker
     */
    public function setTelegramName($telegramName)
    {
        $this->telegram_name = $telegramName;
        return $this;
    }
    /**
     * Get telegramName
     *
     * @return string
     */
    public function getTelegramName()
    {
        return $this->telegram_name;
    }
    /**
     * Set lastChatId
     *
     * @param integer $lastChatId
     *
     * @return ViDiWorker
     */
    public function setLastChatId($lastChatId)
    {
        $this->last_chat_id = $lastChatId;
        return $this;
    }
    /**
     * Get lastChatId
     *
     * @return integer
     */
    public function getLastChatId()
    {
        return $this->last_chat_id;
    }
    /**
     * Set dealer
     *
     * @param Dealer $dealer
     *
     * @return ViDiWorker
     */
    public function setDealer(Dealer $dealer = null)
    {
        $this->dealer = $dealer;
        return $this;
    }
    /**
     * Get dealer
     *
     * @return Dealer
     */
    public function getDealer()
    {
        return $this->dealer;
    }
    /**
     * @var string
     */
    private $email;
    /**
     * @var integer
     */
    private $position;
    /**
     * Set email
     *
     * @param string $email
     *
     * @return ViDiWorker
     */
    public function setEmail($email)
    {
        $this->email = $email;
        return $this;
    }
    /**
     * Get email
     *
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }
    /**
     * Set position
     *
     * @param integer $position
     *
     * @return ViDiWorker
     */
    public function setPosition($position)
    {
        $this->position = $position;
        return $this;
    }
    /**
     * Get position
     *
     * @return integer
     */
    public function getPosition()
    {
        return $this->position;
    }
    /**
     * @var string
     */
    private $token;
    /**
     * Set token
     *
     * @param string $token
     *
     * @return ViDiWorker
     */
    public function setToken($token)
    {
        $this->token = $token;
        return $this;
    }
    /**
     * Get token
     *
     * @return string
     */
    public function getToken()
    {
        return $this->token;
    }
    /**
     * @param string $phone_internal
     * @return ViDiWorker
     */
    public function setPhoneInternal($phone_internal)
    {
        $this->phone_internal = $phone_internal;
        return $this;
    }
    /**
     * @return string
     */
    public function getPhoneInternal()
    {
        return $this->phone_internal;
    }
    /**
     * @param string $phone_mobile
     * @return ViDiWorker
     */
    public function setPhoneMobile($phone_mobile)
    {
        $this->phone_mobile = $phone_mobile;
        return $this;
    }
    /**
     * @return string
     */
    public function getPhoneMobile()
    {
        return $this->phone_mobile;
    }
    /**
     * @param ViDiDepartment $department
     * @return ViDiWorker
     */
    public function setDepartment(ViDiDepartment $department)
    {
        $this->department = $department;
        return $this;
    }
    /**
     * @return ViDiDepartment
     */
    public function getDepartment()
    {
        return $this->department;
    }
    /**
     * @param string $locale
     * @return string
     */
    public function getName($locale = 'ru')
    {
        return $locale === 'ua' ? $this->getNameUa() : $this->getNameRu();
    }
    /**
     * @param Media $photo
     * @return ViDiWorker
     */
    public function setPhoto($photo)
    {
        $this->photo = $photo;
        return $this;
    }
    /**
     * @return Media
     */
    public function getPhoto()
    {
        return $this->photo;
    }
    /**
     * @param int $callback_available
     * @return ViDiWorker
     */
    public function setCallbackAvailable($callback_available)
    {
        $this->callback_available = $callback_available;
        return $this;
    }
    /**
     * @return int
     */
    public function getCallbackAvailable()
    {
        return $this->callback_available;
    }
    /**
     * Set sort
     *
     * @param integer $position_worker
     *
     * @return ViDiWorker
     */
    public function setPositionWorker($position_worker)
    {
        $this->position_worker = $position_worker;
        return $this;
    }
    /**
     * Get sort
     *
     * @return integer
     */
    public function getPositionWorker()
    {
        return $this->position_worker;
    }
    /**
     * @var boolean
     */
    private $additional_page_available = false;
    /**
     * Set additionalPageAvailable
     *
     * @param boolean $additionalPageAvailable
     *
     * @return ViDiWorker
     */
    public function setAdditionalPageAvailable($additionalPageAvailable)
    {
        $this->additional_page_available = $additionalPageAvailable;
        return $this;
    }
    /**
     * Get additionalPageAvailable
     *
     * @return boolean
     */
    public function getAdditionalPageAvailable()
    {
        return $this->additional_page_available;
    }
    public function getShowOnPages(): ?array
    {
        return $this->show_on_pages;
    }
    public function setShowOnPages(?array $showOnPages): ViDiWorker
    {
        $this->show_on_pages = $showOnPages;
        return $this;
    }
}