<?php
namespace MyBundle\Entity;use TypeError;/** * UserInfo */class UserInfo
{
    /**
     * @var integer
     */
    private $id;
    /**
     * @var integer
     */
    private $driving_exp;
    /**
     * @var integer
     */
    private $family_status;
    /**
     * @var string
     */
    private $city;
    /**
     * @var string
     */
    private $adress;
    /**
     * @var string
     */
    private $build;
    /**
     * @var string
     */
    private $apartment;
    /**
     * @var integer
     */
    private $confirmed_phone;
    /**
     * @var integer
     */
    private $confirm_code;
    /**
     * @var string
     */
    private $hash;
    /**
     * @var string
     */
    private $email_hash;
    /**
     * @var integer
     */
    private $sms_count;
    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set drivingExp
     *
     * @param integer $drivingExp
     *
     * @return UserInfo
     */
    public function setDrivingExp($drivingExp)
    {
        $this->driving_exp = $drivingExp;
        return $this;
    }
    /**
     * Get drivingExp
     *
     * @return integer
     */
    public function getDrivingExp()
    {
        return $this->driving_exp;
    }
    /**
     * Set familyStatus
     *
     * @param integer $familyStatus
     *
     * @return UserInfo
     */
    public function setFamilyStatus($familyStatus)
    {
        $this->family_status = $familyStatus;
        return $this;
    }
    /**
     * Get familyStatus
     *
     * @return integer
     */
    public function getFamilyStatus()
    {
        return $this->family_status;
    }
    /**
     * Set city
     *
     * @param string $city
     *
     * @return UserInfo
     */
    public function setCity($city)
    {
        $this->city = $city;
        return $this;
    }
    /**
     * Get city
     *
     * @return string
     */
    public function getCity()
    {
        return $this->city;
    }
    /**
     * Set adress
     *
     * @param string $adress
     *
     * @return UserInfo
     */
    public function setAdress($adress)
    {
        $this->adress = $adress;
        return $this;
    }
    /**
     * Get adress
     *
     * @return string
     */
    public function getAdress()
    {
        return $this->adress;
    }
    /**
     * Set build
     *
     * @param string $build
     *
     * @return UserInfo
     */
    public function setBuild($build)
    {
        $this->build = $build;
        return $this;
    }
    /**
     * Get build
     *
     * @return string
     */
    public function getBuild()
    {
        return $this->build;
    }
    /**
     * Set apartment
     *
     * @param string $apartment
     *
     * @return UserInfo
     */
    public function setApartment($apartment)
    {
        $this->apartment = $apartment;
        return $this;
    }
    /**
     * Get apartment
     *
     * @return string
     */
    public function getApartment()
    {
        return $this->apartment;
    }
    /**
     * Set confirmedPhone
     *
     * @param integer $confirmedPhone
     *
     * @return UserInfo
     */
    public function setConfirmedPhone($confirmedPhone)
    {
        $this->confirmed_phone = $confirmedPhone;
        return $this;
    }
    /**
     * Get confirmedPhone
     *
     * @return integer
     */
    public function getConfirmedPhone()
    {
        return $this->confirmed_phone;
    }
    /**
     * Set confirmCode
     *
     * @param integer $confirmCode
     *
     * @return UserInfo
     */
    public function setConfirmCode($confirmCode)
    {
        $this->confirm_code = $confirmCode;
        return $this;
    }
    /**
     * Get confirmCode
     *
     * @return integer
     */
    public function getConfirmCode()
    {
        return $this->confirm_code;
    }
    /**
     * Set hash
     *
     * @param string $hash
     *
     * @return UserInfo
     */
    public function setHash($hash)
    {
        $this->hash = $hash;
        return $this;
    }
    /**
     * Get hash
     *
     * @return string
     */
    public function getHash()
    {
        return $this->hash;
    }
    /**
     * Set emailHash
     *
     * @param string $emailHash
     *
     * @return UserInfo
     */
    public function setEmailHash($emailHash)
    {
        $this->email_hash = $emailHash;
        return $this;
    }
    /**
     * Get emailHash
     *
     * @return string
     */
    public function getEmailHash()
    {
        return $this->email_hash;
    }
    /**
     * Set smsCount
     *
     * @param integer $smsCount
     *
     * @return UserInfo
     */
    public function setSmsCount($smsCount)
    {
        $this->sms_count = $smsCount;
        return $this;
    }
    /**
     * Get smsCount
     *
     * @return integer
     */
    public function getSmsCount()
    {
        return $this->sms_count;
    }
    /**
     * @var array
     */
    private $phones;
    /**
     * Set phones
     *
     * @param array $phones
     *
     * @return UserInfo
     */
    public function setPhones($phones)
    {
        if (is_array($phones)) {
            $this->phones = json_encode($phones);
        } else {
            throw new TypeError('Type is not array');
        }
        return $this;
    }
    /**
     * Get phones
     *
     * @return array
     */
    public function getPhones()
    {
        if (is_string($this->phones)) {
            return json_decode($this->phones);
        }
        return $this->phones;
    }
}