<?php
namespace CoreBundle\Entity;
use CoreBundle\Entity\Vehicles\Vehicle;use CoreBundle\Entity\Vehicles\InStock;use DateTime;use CoreBundle\Component\FormManager;
use DcSiteBundle\Entity\Accessories;
/**
 * Forms
 */
class Forms
{
    /**
     * @var int
     */
    private $id;
    /**
     * @var Dealer
     */
    private $dealer;
    /**
     * @var int
     */
    private $type;
    /**
     * @var string
     */
    private $name;
    /**
     * @var string
     */
    private $second_name;
    /**
     * @var string
     */
    private $phone;
    /**
     * @var string
     */
    private $email;
    /**
     * @var bool
     */
    private $is_send;
    /**
     * @var bool
     */
    private $in_crm;
    /**
     * @var int
     */
    private $in_pcu_code;
    /**     * @var DateTime     */    private $date_create;
    /**
     * @var Accessories
     */
    private $accessory;
    /**
     * @var string
     */
    private $data;
    public function __construct()
    {
        $this->is_autocreated = 0;
    }
    public function __toString()
    {
        return (string)FormManager::getFormTypeName($this->getType());
    }
    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set dealer
     *
     * @param Dealer $dealer
     *
     * @return Forms
     */
    public function setDealer($dealer)
    {
        $this->dealer = $dealer;
        return $this;
    }
    /**
     * Get dealer
     *
     * @return Dealer
     */
    public function getDealer()
    {
        return $this->dealer;
    }
    /**
     * @return bool
     */
    public function isDealer()
    {
        return isset($this->dealer);
    }
    /**
     * Set type
     *
     * @param integer $type
     *
     * @return Forms
     */
    public function setType($type)
    {
        $this->type = $type;
        return $this;
    }
    /**
     * Get type
     *
     * @return int
     */
    public function getType()
    {
        return $this->type;
    }
    /**
     * Set name
     *
     * @param string $name
     *
     * @return Forms
     */
    public function setName($name)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set second_name
     *
     * @param string $second_name
     *
     * @return Forms
     */
    public function setSecondName($second_name)
    {
        $this->second_name = $second_name;
        return $this;
    }
    /**
     * Get name
     *
     * @return string
     */
    public function getSecondName()
    {
        return $this->second_name;
    }
    /**
     * Set phone
     *
     * @param string $phone
     *
     * @return Forms
     */
    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 Forms
     */
    public function setEmail($email)
    {
        $this->email = $email;
        return $this;
    }
    /**
     * Get email
     *
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }
    /**
     * Set is_send
     *
     * @param boolean $is_send
     *
     * @return Forms
     */
    public function setIsSend($is_send)
    {
        $this->is_send = $is_send;
        return $this;
    }
    /**
     * Get is_send
     *
     * @return bool
     */
    public function getIsSend()
    {
        return $this->is_send;
    }
    /**
     * Set in_crm
     *
     * @param boolean $in_crm
     *
     * @return Forms
     */
    public function setInCrm($in_crm)
    {
        $this->in_crm = $in_crm;
        return $this;
    }
    /**
     * Get in_crm
     *
     * @return bool
     */
    public function getInCrm()
    {
        return $this->in_crm;
    }
    /**     * Set date_create     *     * @param DateTime $date_create     *     * @return Forms     */    public function setDateCreate($date_create)
    {
        $this->date_create = $date_create;
        return $this;
    }
    /**     * Get date_create     *     * @return DateTime     */    public function getDateCreate()
    {
        return $this->date_create;
    }
    /**
     * Set accessory
     *
     * @param Accessories $accessory
     *
     * @return Forms
     */
    public function setAccessory(Accessories $accessory = null)
    {
        $this->accessory = $accessory;
        return $this;
    }
    /**
     * Get accessory
     *
     * @return Accessories
     */
    public function getAccessory()
    {
        return $this->accessory;
    }
    /**
     * Set data
     *
     * @param string $data
     *
     * @return Forms
     */
    public function setData($data)
    {
        $this->data = $data;
        return $this;
    }
    /**
     * Get data
     *
     * @return string
     */
    public function getData()
    {
        if (is_array($this->data)) {
            return json_encode($this->data);
        }
        return $this->data;
    }
    /**
     * @var string
     */
    private $ga_client_id;
    /**
     * Set gaClientId
     *
     * @param string $gaClientId
     *
     * @return Forms
     */
    public function setGaClientId($gaClientId)
    {
        $this->ga_client_id = $gaClientId;
        return $this;
    }
    /**
     * Get gaClientId
     *
     * @return string
     */
    public function getGaClientId()
    {
        return $this->ga_client_id;
    }
    /**
     * @var integer
     */
    private $in_ga;
    /**
     * Set inGa
     *
     * @param integer $inGa
     *
     * @return Forms
     */
    public function setInGa($inGa)
    {
        $this->in_ga = $inGa;
        return $this;
    }
    /**
     * Get inGa
     *
     * @return integer
     */
    public function getInGa()
    {
        return $this->in_ga;
    }
    /**
     * @var string
     */
    private $referrer;
    /**
     * @var string
     */
    private $href;
    /**
     * @var string
     */
    private $utm;
    /**
     * Set referrer
     *
     * @param string $referrer
     *
     * @return Forms
     */
    public function setReferrer($referrer)
    {
        $this->referrer = $referrer;
        return $this;
    }
    /**
     * Get referrer
     *
     * @return string
     */
    public function getReferrer()
    {
        return $this->referrer;
    }
    /**
     * Set href
     *
     * @param string $href
     *
     * @return Forms
     */
    public function setHref($href)
    {
        $this->href = $href;
        return $this;
    }
    /**
     * Get href
     *
     * @return string
     */
    public function getHref()
    {
        return $this->href;
    }
    /**
     * Set utm
     *
     * @param string $utm
     *
     * @return Forms
     */
    public function setUtm($utm)
    {
        $this->utm = $utm;
        return $this;
    }
    /**
     * Get utm
     *
     * @return string
     */
    public function getUtm()
    {
        return $this->utm;
    }
    /**
     * @var string
     */
    private $crm_lead_id;
    /**
     * Set crmLeadId
     *
     * @param string $crmLeadId
     *
     * @return Forms
     */
    public function setCrmLeadId($crmLeadId)
    {
        $this->crm_lead_id = $crmLeadId;
        return $this;
    }
    /**
     * Get crmLeadId
     *
     * @return string
     */
    public function getCrmLeadId()
    {
        return $this->crm_lead_id;
    }
    /**     * @var ViDiDepartment     */    private $department;
    /**     * Set department     *     * @param ViDiDepartment $department     *     * @return Forms     */    public function setDepartment(ViDiDepartment $department = null)
    {
        $this->department = $department;
        return $this;
    }
    /**     * Get department     *     * @return ViDiDepartment     */    public function getDepartment()
    {
        return $this->department;
    }
    /**
     * @var string
     */
    private $gcl_id;
    /**
     * Set gclId
     *
     * @param string $gclId
     *
     * @return Forms
     */
    public function setGclId($gclId)
    {
        $this->gcl_id = $gclId;
        return $this;
    }
    /**
     * Get gclId
     *
     * @return string
     */
    public function getGclId()
    {
        return $this->gcl_id;
    }
    /**
     * @var string
     */
    private $domain;
    /**
     * Set domain
     *
     * @param string $domain
     *
     * @return Forms
     */
    public function setDomain($domain)
    {
        $this->domain = $domain;
        return $this;
    }
    /**
     * Get domain
     *
     * @return string
     */
    public function getDomain()
    {
        return $this->domain;
    }
    /**
     * @param int $id
     */
    public function setId($id)
    {
        $this->id = $id;
    }
    public function getTypeName()
    {
        return FormManager::getTypeName($this->getType());
    }
    /**
     * @var integer
     */
    private $notify_send;
    /**
     * Set notifySend
     *
     * @param integer $notifySend
     *
     * @return Forms
     */
    public function setNotifySend($notifySend)
    {
        $this->notify_send = $notifySend;
        return $this;
    }
    /**
     * Get notifySend
     *
     * @return integer
     */
    public function getNotifySend()
    {
        return $this->notify_send;
    }
    /**     * @var Vehicle     */    private $vehicle;
    /**     * @var InStock     */    private $vehicle_in_stock;
    /**     * Set vehicle     *     * @param Vehicle $vehicle     *     * @return Forms     */    public function setVehicle(Vehicle $vehicle = null)
    {
        $this->vehicle = $vehicle;
        return $this;
    }
    /**     * Get vehicle     *     * @return Vehicle     */    public function getVehicle()
    {
        return $this->vehicle;
    }
    /**     * Set vehicleInStock     *     * @param InStock $vehicleInStock     *     * @return Forms     */    public function setVehicleInStock(InStock $vehicleInStock = null)
    {
        $this->vehicle_in_stock = $vehicleInStock;
        return $this;
    }
    /**     * Get vehicleInStock     *     * @return InStock     */    public function getVehicleInStock()
    {
        return $this->vehicle_in_stock;
    }
    /**     * @var User     */    private $user;
    /**     * Set user     *     * @param User $user     *     * @return Forms     */    public function setUser(User $user = null)
    {
        $this->user = $user;
        return $this;
    }
    /**     * Get user     *     * @return User     */    public function getUser()
    {
        return $this->user;
    }
    /**
     * @return int
     */
    public function getInPcuCode()
    {
        return $this->in_pcu_code;
    }
    /**
     * @param int $in_pcu_code
     */
    public function setInPcuCode($in_pcu_code)
    {
        $this->in_pcu_code = $in_pcu_code;
    }
    /**
     * @var string
     */
    private $model;
    /**
     * Set model
     *
     * @param string $model
     *
     * @return Forms
     */
    public function setModel($model)
    {
        $this->model = $model;
        return $this;
    }
    /**
     * Get model
     *
     * @return string
     */
    public function getModel()
    {
        return $this->model;
    }
    /**
     * @var integer
     */
    private $is_preorder;
    /**
     * @var integer
     */
    private $is_autocreated;
    /**
     * Set isPreorder
     *
     * @param integer $isPreorder
     *
     * @return Forms
     */
    public function setIsPreorder($isPreorder)
    {
        $this->is_preorder = $isPreorder;
        return $this;
    }
    /**
     * Get isPreorder
     *
     * @return integer
     */
    public function getIsPreorder()
    {
        return $this->is_preorder;
    }
    public function setIsAutocreated($isAutocreated)
    {
        $this->is_autocreated = $isAutocreated;
        return $this;
    }
    public function getIsAutocreated()
    {
        return $this->is_autocreated;
    }
}