<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Patient
 *
 * @ORM\Table(name="patient")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\PatientRepository")
 */
class Patient
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=255)
     */
    private $nom;

    /**
     * @var string
     *
     * @ORM\Column(name="prenoms", type="string", length=255)
     */
    private $prenoms;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dnaiss", type="datetime")
     */
    private $dnaiss;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="createdAt", type="datetime")
     */
    private $createdAt;

    /**
     * @var string
     *
     * @ORM\Column(name="lnaiss", type="string", length=255)
     */
    private $lnaiss;

    /**
     * @var string
     *
     * @ORM\Column(name="genre", type="string", length=255)
     */
    private $genre;

    /**
     * @var string
     *
     * @ORM\Column(name="gsanguin", type="string", length=255)
     */
    private $gsanguin;

    /**
     * @var string
     *
     * @ORM\Column(name="typePiece", type="string", length=255)
     */
    private $typePiece;

    /**
     * @var string
     *
     * @ORM\Column(name="cni", type="string", length=255)
     */
    private $cni;

    /**
     * @var string
     *
     * @ORM\Column(name="contact", type="string", length=255)
     */
    private $contact;

    /**
     * @var string
     *
     * @ORM\Column(name="adresse", type="string", length=255)
     */
    private $adresse;

    /**
     * @var string
     *
     * @ORM\Column(name="profession", type="string", length=255)
     */
    private $profession;

    /**
     * @var AppBundle\Entity\Pays
     *
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Pays")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="pays", referencedColumnName="id")
     * })
     **/
    private $pays;

     /**
     * @ORM\Column(name="del",type="integer",options={"default": 0})
     */
    private $del = 0;



    /**
     * Get id.
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nom.
     *
     * @param string $nom
     *
     * @return Patient
     */
    public function setNom($nom)
    {
        $this->nom = $nom;

        return $this;
    }

    /**
     * Get nom.
     *
     * @return string
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenoms.
     *
     * @param string $prenoms
     *
     * @return Patient
     */
    public function setPrenoms($prenoms)
    {
        $this->prenoms = $prenoms;

        return $this;
    }

    /**
     * Get prenoms.
     *
     * @return string
     */
    public function getPrenoms()
    {
        return $this->prenoms;
    }

    /**
     * Set dnaiss.
     *
     * @param \DateTime $dnaiss
     *
     * @return Patient
     */
    public function setDnaiss($dnaiss)
    {
        $this->dnaiss = $dnaiss;

        return $this;
    }

    /**
     * Get dnaiss.
     *
     * @return \DateTime
     */
    public function getDnaiss()
    {
        return $this->dnaiss;
    }

    /**
     * Set lnaiss.
     *
     * @param string $lnaiss
     *
     * @return Patient
     */
    public function setLnaiss($lnaiss)
    {
        $this->lnaiss = $lnaiss;

        return $this;
    }

    /**
     * Get lnaiss.
     *
     * @return string
     */
    public function getLnaiss()
    {
        return $this->lnaiss;
    }

    /**
     * Set genre.
     *
     * @param string $genre
     *
     * @return Patient
     */
    public function setGenre($genre)
    {
        $this->genre = $genre;

        return $this;
    }

    /**
     * Get genre.
     *
     * @return string
     */
    public function getGenre()
    {
        return $this->genre;
    }

    /**
     * Set gsanguin.
     *
     * @param string $gsanguin
     *
     * @return Patient
     */
    public function setGsanguin($gsanguin)
    {
        $this->gsanguin = $gsanguin;

        return $this;
    }

    /**
     * Get gsanguin.
     *
     * @return string
     */
    public function getGsanguin()
    {
        return $this->gsanguin;
    }

    /**
     * Set cni.
     *
     * @param string $cni
     *
     * @return Patient
     */
    public function setCni($cni)
    {
        $this->cni = $cni;

        return $this;
    }

    /**
     * Get cni.
     *
     * @return string
     */
    public function getCni()
    {
        return $this->cni;
    }

    /**
     * Set contact.
     *
     * @param string $contact
     *
     * @return Patient
     */
    public function setContact($contact)
    {
        $this->contact = $contact;

        return $this;
    }

    /**
     * Get contact.
     *
     * @return string
     */
    public function getContact()
    {
        return $this->contact;
    }

    /**
     * Set adresse.
     *
     * @param string $adresse
     *
     * @return Patient
     */
    public function setAdresse($adresse)
    {
        $this->adresse = $adresse;

        return $this;
    }

    /**
     * Get adresse.
     *
     * @return string
     */
    public function getAdresse()
    {
        return $this->adresse;
    }

    /**
     * Set pays.
     *
     * @param \AppBundle\Entity\Pays|null $pays
     *
     * @return Patient
     */
    public function setPays(\AppBundle\Entity\Pays $pays = null)
    {
        $this->pays = $pays;

        return $this;
    }

    /**
     * Get pays.
     *
     * @return \AppBundle\Entity\Pays|null
     */
    public function getPays()
    {
        return $this->pays;
    }

    /**
     * Set typePiece.
     *
     * @param string $typePiece
     *
     * @return Patient
     */
    public function setTypePiece($typePiece)
    {
        $this->typePiece = $typePiece;

        return $this;
    }

    /**
     * Get typePiece.
     *
     * @return string
     */
    public function getTypePiece()
    {
        return $this->typePiece;
    }

    public function __toString(){
        return $this->nom . ' ' .  $this->prenoms;
    }

    /**
     * Set profession.
     *
     * @param string $profession
     *
     * @return Patient
     */
    public function setProfession($profession)
    {
        $this->profession = $profession;

        return $this;
    }

    /**
     * Get profession.
     *
     * @return string
     */
    public function getProfession()
    {
        return $this->profession;
    }

    /**
     * Set del.
     *
     * @param int $del
     *
     * @return Patient
     */
    public function setDel($del)
    {
        $this->del = $del;

        return $this;
    }

    /**
     * Get del.
     *
     * @return int
     */
    public function getDel()
    {
        return $this->del;
    }

    /**
     * Set createdAt.
     *
     * @param \DateTime $createdAt
     *
     * @return Patient
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * Get createdAt.
     *
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }
}
