<?php
namespace CoreBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
/**
 * ViDiDepartment
 */
class ViDiDepartment
{
    /**
     * @var int
     */
    private $id;
    /**
     * @var string
     */
    private $title_ru;
    /**
     * @var string
     */
    private $title_ua;
    /**
     * @var string
     */
    private $phone;
    /**
     * @var string
     */
    private $email;
    /**
     * @var Dealer
     */
    private $dealer;
    /**
     * @var ViDiWorker
     */
    private $workers;
    public function __construct()
    {
        $this->workers = new ArrayCollection();
    }
    public function __toString()
    {
        return (string)$this->getTitleRu();
    }
    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set titleRu
     *
     * @param string $title_ru
     *
     * @return ViDiDepartment
     */
    public function setTitleRu($title_ru)
    {
        $this->title_ru = $title_ru;
        return $this;
    }
    /**
     * Get titleRu
     *
     * @return string
     */
    public function getTitleRu()
    {
        return $this->title_ru;
    }
    /**
     * Set titleUa
     *
     * @param string $title_ua
     *
     * @return ViDiDepartment
     */
    public function setTitleUa($title_ua)
    {
        $this->title_ua = $title_ua;
        return $this;
    }
    /**
     * Get titleUa
     *
     * @return string
     */
    public function getTitleUa()
    {
        return $this->title_ua;
    }
    /**
     * Set phone
     *
     * @param string $phone
     *
     * @return ViDiDepartment
     */
    public function setPhone($phone)
    {
        $this->phone = $phone;
        return $this;
    }
    /**
     * Get phone
     *
     * @return string
     */
    public function getPhone()
    {
        return $this->phone;
    }
    /**
     * Set email
     *
     * @param string $email
     *
     * @return ViDiDepartment
     */
    public function setEmail($email)
    {
        $this->email = $email;
        return $this;
    }
    /**
     * Get email
     *
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }
    /**
     * Set dealer
     *
     * @param Dealer $dealer
     *
     * @return ViDiDepartment
     */
    public function setDealer(Dealer $dealer)
    {
        $this->dealer = $dealer;
        return $this;
    }
    /**
     * Get dealer
     *
     * @return Dealer
     */
    public function getDealer()
    {
        return $this->dealer;
    }
    /**
     * @param string $locale
     * @return string
     */
    public function getTitle($locale = 'ru')
    {
        return $locale === 'ua' ? $this->getTitleUa() : $this->getTitleRu();
    }
    /**
     * @param ViDiWorker $workers
     * @return ViDiDepartment
     */
    public function setWorkers($workers)
    {
        $this->workers = $workers;
        return $this;
    }
    /**
     * @param $worker
     * @return $this
     */
    public function addWorker($worker)
    {
        $this->workers[] = $worker;
        return $this;
    }
    /**
     * @return ViDiWorker
     */
    public function getWorkers()
    {
        return $this->workers;
    }
    /**
     * @var integer
     */
    private $priority;
    /**
     * Set priority
     *
     * @param integer $priority
     *
     * @return ViDiDepartment
     */
    public function setPriority($priority)
    {
        $this->priority = $priority;
        return $this;
    }
    /**
     * Get priority
     *
     * @return integer
     */
    public function getPriority()
    {
        return $this->priority;
    }
    /**     * Remove worker     *     * @param ViDiWorker $worker     */    public function removeWorker(ViDiWorker $worker)
    {
        $this->workers->removeElement($worker);
    }
    /**
     * @var string
     */
    private $hidden_email;
    /**
     * Set hiddenEmail
     *
     * @param string $hiddenEmail
     *
     * @return ViDiDepartment
     */
    public function setHiddenEmail($hiddenEmail)
    {
        $this->hidden_email = $hiddenEmail;
        return $this;
    }
    /**
     * Get hiddenEmail
     *
     * @return string
     */
    public function getHiddenEmail()
    {
        return $this->hidden_email;
    }
    /**
     * @var integer
     */
    private $type;
    /**
     * Set type
     *
     * @param integer $type
     *
     * @return ViDiDepartment
     */
    public function setType($type)
    {
        $this->type = $type;
        return $this;
    }
    /**
     * Get type
     *
     * @return integer
     */
    public function getType()
    {
        return $this->type;
    }
    /**
     * @var string
     */
    private $phone_internal;
    /**
     * Set phoneInternal
     *
     * @param string $phoneInternal
     *
     * @return ViDiDepartment
     */
    public function setPhoneInternal($phoneInternal)
    {
        $this->phone_internal = $phoneInternal;
        return $this;
    }
    /**
     * Get phoneInternal
     *
     * @return string
     */
    public function getPhoneInternal()
    {
        return $this->phone_internal;
    }
}