<?php

namespace App\Entity;

use App\Repository\EquipementPreferencesPlanificationRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=EquipementPreferencesPlanificationRepository::class)
 * @ORM\Table(schema="sav")
 */
class EquipementPreferencesPlanification
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\OneToOne(targetEntity=Equipement::class, inversedBy="equipementPreferencesPlanification",  cascade={"persist"})
     * @ORM\JoinColumn(nullable=false, name="idequipement")
     */
    private $equipement;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $date_a_partir_du;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $date_avant_le;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $date_entre_debut;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $date_entre_fin;

    /**
     * @ORM\Column(type="string", length=25, nullable=true)
     */
    private $planifier_preference;

    /**
     * @ORM\Column(type="string", length=60, nullable=true)
     */
    private $planifier_jour;

    /**
     * @ORM\Column(type="string", length=15, nullable=true)
     */
    private $planifier_partie_journee;

    /**
     * @ORM\Column(type="string", length=12, nullable=true)
     */
    private $planifier_avant_apres;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $avant_recurrente;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $apres_recurrente;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $inclusion_recurrente;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $uniquement_scolaire;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $premiere_visite;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $envoyer_2_agents;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $envoyer_rts;

    /**
     * @ORM\ManyToOne(targetEntity=Utilisateur::class)
     * @ORM\JoinColumn(nullable=false, name="idagent")
     */
    private $agent;

    /**
     * @ORM\Column(type="string", length=20, nullable=true)
     */
    private $planifier_agent;

    /**
     * @ORM\ManyToOne(targetEntity=HorairePassage::class)
     * @ORM\JoinColumn(name="idhoraire_passage", referencedColumnName="id")
     */
    private $horaire_passage;


    public function getId()
    {
        return $this->id;
    }

    public function getEquipement()
    {
        return $this->equipement;
    }

    public function setEquipement(?Equipement $equipement)
    {
        $this->equipement = $equipement;

        return $this;
    }

    public function getDateAPartirDu()
    {
        return $this->date_a_partir_du;
    }

    public function setDateAPartirDu(?\DateTimeInterface $date_a_partir_du)
    {
        $this->date_a_partir_du = $date_a_partir_du;

        return $this;
    }

    public function getDateAvantLe()
    {
        return $this->date_avant_le;
    }

    public function setDateAvantLe(?\DateTimeInterface $date_avant_le)
    {
        $this->date_avant_le = $date_avant_le;

        return $this;
    }

    public function getDateEntreFin()
    {
        return $this->date_entre_fin;
    }

    public function setDateEntreFin(?\DateTimeInterface $date_entre_fin)
    {
        $this->date_entre_fin = $date_entre_fin;

        return $this;
    }

    public function getPlanifierPreference()
    {
        return $this->planifier_preference;
    }

    public function setPlanifierPreference(?string $planifier_preference)
    {
        $this->planifier_preference = $planifier_preference;

        return $this;
    }

    public function getPlanifierJour()
    {
        return $this->planifier_jour;
    }

    public function setPlanifierJour(?string $planifier_jour)
    {
        $this->planifier_jour = $planifier_jour;

        return $this;
    }

    public function getPlanifierPartieJournee(): ?string
    {
        return $this->planifier_partie_journee;
    }

    public function setPlanifierPartieJournee(?string $planifier_partie_journee)
    {
        $this->planifier_partie_journee = $planifier_partie_journee;

        return $this;
    }

    public function getDateEntreDebut(): ?\DateTimeInterface
    {
        return $this->date_entre_debut;
    }

    public function setDateEntreDebut(?\DateTimeInterface $date_entre_debut)
    {
        $this->date_entre_debut = $date_entre_debut;

        return $this;
    }

    public function getPlanifierAvantApres(): ?string
    {
        return $this->planifier_avant_apres;
    }

    public function setPlanifierAvantApres(?string $planifier_avant_apres)
    {
        $this->planifier_avant_apres = $planifier_avant_apres;

        return $this;
    }

    public function getApresRecurrente()
    {
        return $this->apres_recurrente;
    }

    public function setApresRecurrente(?bool $apres_recurrente)
    {
        $this->apres_recurrente = $apres_recurrente;

        return $this;
    }

    public function getAvantRecurrente()
    {
        return $this->avant_recurrente;
    }

    public function setAvantRecurrente(?bool $avant_recurrente)
    {
        $this->avant_recurrente = $avant_recurrente;

        return $this;
    }

    public function getInclusionRecurrente()
    {
        return $this->inclusion_recurrente;
    }

    public function setInclusionRecurrente(?bool $inclusion_recurrente)
    {
        $this->inclusion_recurrente = $inclusion_recurrente;

        return $this;
    }

    public function getUniquementScolaire()
    {
        return $this->uniquement_scolaire;
    }

    public function setUniquementScolaire(?bool $uniquement_scolaire)
    {
        $this->uniquement_scolaire = $uniquement_scolaire;

        return $this;
    }

    public function getPremiereVisite()
    {
        return $this->premiere_visite;
    }

    public function setPremiereVisite(?bool $premiere_visite)
    {
        $this->premiere_visite = $premiere_visite;

        return $this;
    }

    public function getEnvoyer2Agents()
    {
        return $this->envoyer_2_agents;
    }

    public function setEnvoyer2Agents(?bool $envoyer_2_agents)
    {
        $this->envoyer_2_agents = $envoyer_2_agents;

        return $this;
    }

    public function getEnvoyerRts()
    {
        return $this->envoyer_rts;
    }

    public function setEnvoyerRts(?bool $envoyer_rts)
    {
        $this->envoyer_rts = $envoyer_rts;

        return $this;
    }

    public function getAgent(): ?Utilisateur
    {
        return $this->agent;
    }

    public function setAgent(?Utilisateur $agent)
    {
        $this->agent = $agent;

        return $this;
    }

    public function getPlanifierAgent()
    {
        return $this->planifier_agent;
    }

    public function setPlanifierAgent(?string $planifier_agent)
    {
        $this->planifier_agent = $planifier_agent;

        return $this;
    }
    public function getHorairePassage()
    {
        return $this->horaire_passage;
    }

    public function setHorairePassage(?HorairePassage $horaire_passage)
    {
        $this->horaire_passage = $horaire_passage;

        return $this;
    }
}
