src/Entity/Contract.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use App\Entity\ContractProduct;
  7. use App\Entity\RDV;
  8. /**
  9.  * Contrat client
  10.  *
  11.  * @ORM\Table(name="contract")
  12.  * @ORM\Entity
  13.  */
  14. class Contract
  15. {
  16.     const TYPE_COIFFURE 'coiffure';
  17.     const TYPE_ESTHETIQUE 'esthetique';
  18.     const TYPE_RDV_PERIODIQUE 'periodique';
  19.     const TYPE_RDV_FAMILLE 'famille';
  20.     const TYPE_RDV_RESIDENT 'resident';
  21.     const RECURRENCE_1_SUR_2 0;
  22.     const RECURRENCE_1_SUR_3 1;
  23.     const RECURRENCE_1_SUR_4 2;
  24.     const RECURRENCE_1_SUR_8 3;
  25.     const RECURRENCE_1_SUR_12 4;
  26.     const RECURRENCE_1_SUR_5 5;
  27.     const RECURRENCE_1_SUR_6 6;
  28.     const RECURRENCE_1_SUR_2_MONTH 7// 2 mois
  29.     const RECURRENCE_1_SUR_TRIM 8;
  30.     const RECURRENCE_1_SUR_6_MONTH 9;
  31.     const RECURRENCE_1_SUR_SEMAINE 10;
  32.     /**
  33.      * @var int
  34.      *
  35.      * @ORM\Column(name="id", type="integer", nullable=false)
  36.      * @ORM\Id
  37.      * @ORM\GeneratedValue(strategy="IDENTITY")
  38.      */
  39.     private $id;
  40.     /**
  41.      * @var string|null
  42.      *
  43.      * @ORM\Column(name="date_debut_relation", type="string", nullable=true)
  44.      */
  45.     private $dateDebutRelation;
  46.     /**
  47.      * @var string|null
  48.      *
  49.      * @ORM\Column(name="date_fin_relation", type="string", nullable=true)
  50.      */
  51.     private $dateFinRelation;
  52.     /**
  53.      * @var string|null
  54.      *
  55.      * @ORM\Column(name="date_debut", type="string", nullable=true)
  56.      */
  57.     private $dateDebut;
  58.     /**
  59.      * @var string|null
  60.      *
  61.      * @ORM\Column(name="date_fin", type="string", nullable=true)
  62.      */
  63.     private $dateFin;
  64.     /**
  65.      * @var string|null
  66.      *
  67.      * @ORM\Column(name="type_prestation", type="string", nullable=true)
  68.      */
  69.     private $typePrestation;
  70.     /**
  71.      * @var string|null
  72.      *
  73.      * @ORM\Column(name="type_rdv", type="string", nullable=true)
  74.      */
  75.     private $typeRDV;
  76.     /**
  77.      * @var string|null
  78.      *
  79.      * @ORM\Column(name="libelle_prestation", type="string", nullable=true)
  80.      */
  81.     private $libellePrestation;
  82.     /**
  83.      * @var string|null
  84.      *
  85.      * @ORM\Column(name="recurrence", type="string", nullable=true)
  86.      */
  87.     private $recurrence;
  88.     /**
  89.      * @var string|null
  90.      *
  91.      * @ORM\Column(name="variable", type="string", nullable=true)
  92.      */
  93.     private $variable;
  94.     /**
  95.      * @var string|null
  96.      *
  97.      * @ORM\Column(name="horaires", type="text", nullable=true)
  98.      */
  99.     private $horaires;
  100.     /**
  101.      * @var string|null
  102.      *
  103.      * @ORM\Column(name="remarque", type="text", nullable=true)
  104.      */
  105.     private $remarque;
  106.     /**
  107.      * @var string|null
  108.      *
  109.      * @ORM\Column(name="recurrence_generated", type="boolean")
  110.      */
  111.     private $recurrenceGenerated false;
  112.     // produit
  113.     /**
  114.      * @var ContractProduct ArrayCollection
  115.      * @ORM\OneToMany(targetEntity=ContractProduct::class, mappedBy="contract")
  116.      */
  117.     protected $contractProducts;
  118.     /**
  119.      * @var \App\Entity\RDV[] ArrayCollection
  120.      * @ORM\OneToMany(targetEntity=RDV::class, mappedBy="contract")
  121.      */
  122.     protected $rdvs;
  123.     /**
  124.      * @var Contact
  125.      *
  126.      * @ORM\ManyToOne(targetEntity="Client")
  127.      * @ORM\JoinColumn(name="client_id", referencedColumnName="id", onDelete="SET NULL")
  128.      */
  129.     private $client;
  130.     /**
  131.      * @var string|null
  132.      * @ORM\Column(name="priorite", type="string", nullable=true)
  133.      */
  134.     private $priorite null;
  135.     /**
  136.      * @var string|null
  137.      * @ORM\Column(name="foumulaireReservation", type="boolean", nullable=true)
  138.      */
  139.     private $foumulaireReservation;
  140.     /**
  141.      * @var string|null
  142.      *
  143.      * @ORM\Column(name="heure", type="text", nullable=true)
  144.      */
  145.     private $heure;
  146.     public function __construct()
  147.     {
  148.         $this->recurrenceGenerated false;
  149.         $this->contractProducts = new ArrayCollection();
  150.         $this->rdvs = new ArrayCollection();
  151.     }
  152.     public function __toString()
  153.     {
  154.         return (string) $this->id;
  155.     }
  156.     // pdf
  157.     public function getId(): ?int
  158.     {
  159.         return $this->id;
  160.     }
  161.     /**
  162.      * @return string|null
  163.      */
  164.     public function getDateDebutRelation(): ?string
  165.     {
  166.         return $this->dateDebutRelation;
  167.     }
  168.     /**
  169.      * @param string|null $dateDebutRelation
  170.      */
  171.     public function setDateDebutRelation(?string $dateDebutRelation): void
  172.     {
  173.         $this->dateDebutRelation $dateDebutRelation;
  174.     }
  175.     /**
  176.      * @return string|null
  177.      */
  178.     public function getDateFinRelation(): ?string
  179.     {
  180.         return $this->dateFinRelation;
  181.     }
  182.     /**
  183.      * @param string|null $dateFinRelation
  184.      */
  185.     public function setDateFinRelation(?string $dateFinRelation): void
  186.     {
  187.         $this->dateFinRelation $dateFinRelation;
  188.     }
  189.     /**
  190.      * @return string|null
  191.      */
  192.     public function getDateDebut(): ?string
  193.     {
  194.         return $this->dateDebut;
  195.     }
  196.     /**
  197.      * @param string|null $dateDebut
  198.      */
  199.     public function setDateDebut(?string $dateDebut): void
  200.     {
  201.         $this->dateDebut $dateDebut;
  202.     }
  203.     /**
  204.      * @return string|null
  205.      */
  206.     public function getDateFin(): ?string
  207.     {
  208.         return $this->dateFin;
  209.     }
  210.     /**
  211.      * @param string|null $dateFin
  212.      */
  213.     public function setDateFin(?string $dateFin): void
  214.     {
  215.         $this->dateFin $dateFin;
  216.     }
  217.     /**
  218.      * @return string|null
  219.      */
  220.     public function getTypePrestation(): ?string
  221.     {
  222.         return $this->typePrestation;
  223.     }
  224.     /**
  225.      * @param string|null $typePrestation
  226.      */
  227.     public function setTypePrestation(?string $typePrestation): void
  228.     {
  229.         $this->typePrestation $typePrestation;
  230.     }
  231.     /**
  232.      * @return string|null
  233.      */
  234.     public function getLibellePrestation(): ?string
  235.     {
  236.         return $this->libellePrestation;
  237.     }
  238.     /**
  239.      * @param string|null $libellePrestation
  240.      */
  241.     public function setLibellePrestation(?string $libellePrestation): void
  242.     {
  243.         $this->libellePrestation $libellePrestation;
  244.     }
  245.     /**
  246.      * @return string|null
  247.      */
  248.     public function getTypeRDV(): ?string
  249.     {
  250.         return $this->typeRDV;
  251.     }
  252.     /**
  253.      * @param string|null $typeRDV
  254.      */
  255.     public function setTypeRDV(?string $typeRDV): void
  256.     {
  257.         $this->typeRDV $typeRDV;
  258.     }
  259.     /**
  260.      * @return string|null
  261.      */
  262.     public function getRecurrence(): ?string
  263.     {
  264.         return $this->recurrence;
  265.     }
  266.     /**
  267.      * @param string|null $recurrence
  268.      */
  269.     public function setRecurrence(?string $recurrence): void
  270.     {
  271.         $this->recurrence $recurrence;
  272.     }
  273.     /**
  274.      * @return string|null
  275.      */
  276.     public function getVariable(): ?string
  277.     {
  278.         return $this->variable;
  279.     }
  280.     /**
  281.      * @param string|null $variable
  282.      */
  283.     public function setVariable(?string $variable): void
  284.     {
  285.         $this->variable $variable;
  286.     }
  287.     /**
  288.      * @return Contact
  289.      */
  290.     public function getClient(): ?Client
  291.     {
  292.         return $this->client;
  293.     }
  294.     /**
  295.      * @param Contact $client
  296.      */
  297.     public function setClient(Client $client): void
  298.     {
  299.         $this->client $client;
  300.     }
  301.     /**
  302.      * @return string|null
  303.      */
  304.     public function getRecurrenceGenerated(): ?bool
  305.     {
  306.         return $this->recurrenceGenerated;
  307.     }
  308.     /**
  309.      * @param string|null $recurrenceGenerated
  310.      */
  311.     public function setRecurrenceGenerated(?string $recurrenceGenerated): void
  312.     {
  313.         $this->recurrenceGenerated $recurrenceGenerated;
  314.     }
  315.     /**
  316.      * @return string|null
  317.      */
  318.     public function getHoraires(): ?string
  319.     {
  320.         return $this->horaires;
  321.     }
  322.     /**
  323.      * @param string|null $horaires
  324.      */
  325.     public function setHoraires(?string $horaires): void
  326.     {
  327.         $this->horaires $horaires;
  328.     }
  329.     /**
  330.      * @return \App\Entity\ContractProduct
  331.      */
  332.     public function getContractProducts()
  333.     {
  334.         return $this->contractProducts;
  335.     }
  336.     /**
  337.      * @param \App\Entity\ContractProduct $contractProducts
  338.      */
  339.     public function setContractProducts(ContractProduct $contractProducts): void
  340.     {
  341.         $this->contractProducts $contractProducts;
  342.     }
  343.     /**
  344.      * @return RDVProduct
  345.      */
  346.     public function getRdvs(): Collection
  347.     {
  348.         return $this->rdvs;
  349.     }
  350.     /**
  351.      * @param RDVProduct $rdvs
  352.      */
  353.     public function setRdvs(RDVProduct $rdvs): void
  354.     {
  355.         $this->rdvs $rdvs;
  356.     }
  357.     /**
  358.      * @return string|null
  359.      */
  360.     public function getPriorite(): ?string
  361.     {
  362.         return $this->priorite;
  363.     }
  364.     /**
  365.      * @param string|null $priorite
  366.      */
  367.     public function setPriorite(?string $priorite): void
  368.     {
  369.         $this->priorite $priorite;
  370.     }
  371.     /**
  372.      * @return string|null
  373.      */
  374.     public function getFoumulaireReservation(): ?string
  375.     {
  376.         return $this->foumulaireReservation;
  377.     }
  378.     /**
  379.      * @param string|null $foumulaireReservation
  380.      */
  381.     public function setFoumulaireReservation(?string $foumulaireReservation): void
  382.     {
  383.         $this->foumulaireReservation $foumulaireReservation;
  384.     }
  385.     /**
  386.      * @return string|null
  387.      */
  388.     public function getHeure(): ?string
  389.     {
  390.         return $this->heure;
  391.     }
  392.     /**
  393.      * @param string|null $heure
  394.      */
  395.     public function setHeure(?string $heure): void
  396.     {
  397.         $this->heure $heure;
  398.     }
  399.     /**
  400.      * @return string|null
  401.      */
  402.     public function getRemarque(): ?string
  403.     {
  404.         return $this->remarque;
  405.     }
  406.     /**
  407.      * @param string|null $remarque
  408.      */
  409.     public function setRemarque(?string $remarque): void
  410.     {
  411.         $this->remarque $remarque;
  412.     }
  413.     /*********/
  414.     /*  REMVOE */
  415.     /********/
  416.     public function removeRDV(RDV $item)
  417.     {
  418.         $this->rdvs->removeElement($item);
  419.     }
  420. }