src/Entity/BFSeance.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. /**
  6.  * @ORM\Entity(repositoryClass="App\Repository\BFSeanceRepository")
  7.  */
  8. class BFSeance
  9. {
  10.     /**
  11.      * @ORM\Id()
  12.      * @ORM\GeneratedValue()
  13.      * @ORM\Column(type="integer")
  14.      */
  15.     private $id;
  16.     /**
  17.      * @ORM\Column(type="string", length=255)
  18.      */
  19.     private $name;
  20.     /**
  21.      * @ORM\ManyToOne(targetEntity="App\Entity\BFTournoi", inversedBy="seances")
  22.      * @ORM\JoinColumn(nullable=false)
  23.      */
  24.     private $tournoi;
  25.     /**
  26.      * @ORM\Column(type="datetime")
  27.      */
  28.     private $startdate;
  29.     /**
  30.      * @ORM\Column(type="datetime", nullable=true)
  31.      */
  32.     private $creationdate;
  33.     
  34.     public function __construct()
  35.     {
  36.         $this->creationdate = new \DateTime('now');
  37.     }
  38.     public function getId(): ?int
  39.     {
  40.         return $this->id;
  41.     }
  42.     public function getName(): ?string
  43.     {
  44.         return $this->name;
  45.     }
  46.     public function setName(string $name): self
  47.     {
  48.         $this->name $name;
  49.         return $this;
  50.     }
  51.     public function getTournoi(): ?BFTournoi
  52.     {
  53.         return $this->tournoi;
  54.     }
  55.     public function setTournoi(?BFTournoi $tournoi): self
  56.     {
  57.         $this->tournoi $tournoi;
  58.         return $this;
  59.     }
  60.     public function getStartdate(): ?\DateTimeInterface
  61.     {
  62.         return $this->startdate;
  63.     }
  64.     public function setStartdate(\DateTimeInterface $startdate): self
  65.     {
  66.         $this->startdate $startdate;
  67.         return $this;
  68.     }
  69.     
  70.     /**
  71.      * @Assert\IsTrue(message="Les dates ne sont pas comprises par celles du tournoi")
  72.      */
  73.     public function isDatesInTournoi()
  74.     {        
  75.         $startdateedition $this->getTournoi()->getStartdate();
  76.         $enddateedition $this->getTournoi()->getEnddate();
  77.         $enddateedition->add(new \DateInterval('P1D'));
  78.                         
  79.         return $this->startdate>=$startdateedition && $this->startdate<=$enddateedition;
  80.     }
  81.     public function getCreationdate(): ?\DateTimeInterface
  82.     {
  83.         return $this->creationdate;
  84.     }
  85.     public function setCreationdate(?\DateTimeInterface $creationdate): self
  86.     {
  87.         $this->creationdate $creationdate;
  88.         return $this;
  89.     }
  90. }