src/Entity/Subscription.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Student;
  4. use App\Repository\SubscriptionRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use App\Entity\Traits\TimeStampable;
  7. /**
  8.  * @ORM\Entity(repositoryClass=SubscriptionRepository::class)
  9.  */
  10. class Subscription
  11. {
  12.     use TimeStampable;
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\ManyToOne(targetEntity=Student::class, inversedBy="subscriptions")
  21.      * @ORM\JoinColumn(nullable=false)
  22.      */
  23.     private $student;
  24.     /**
  25.      * @ORM\ManyToOne(targetEntity=ClassRoom::class, inversedBy="subscriptions")
  26.      * @ORM\JoinColumn(nullable=false)
  27.      */
  28.     private $classRoom;
  29.     /**
  30.      * @ORM\ManyToOne(targetEntity=SchoolYear::class, inversedBy="subscriptions")
  31.      * @ORM\JoinColumn(nullable=false)
  32.      */
  33.     private $schoolYear;
  34.     /*
  35.         0  : Echec
  36.         1p : Success  Passable
  37.         1a : Success  Assez-bien
  38.         1b : Success  Bien
  39.         1t : Success  Tres-Bien
  40.         1e : Success  Excellent
  41.         A : 5 points
  42.         B : 4 points
  43.         C : 3 points
  44.         D : 2 points
  45.         E : 1 point
  46.     */
  47.     /**
  48.      * @var string
  49.      *
  50.      * @ORM\Column(name="officialExamResult", type="string", length=10 , options={"default" = "1p"})
  51.      */
  52.     private $officialExamResult;
  53.     /**
  54.      * @ORM\Column(type="boolean")
  55.      */
  56.     private $financeHolder;
  57.     public function __construct()
  58.     {
  59.         $this->updateTimestamp();
  60.         $this->financeHolder false;
  61.         $this->setOfficialExamResult("1p");
  62.     }
  63.     public function getId(): ?int
  64.     {
  65.         return $this->id;
  66.     }
  67.     public function getStudent(): ?Student
  68.     {
  69.         return $this->student;
  70.     }
  71.     public function setStudent(?Student $student): self
  72.     {
  73.         $this->student $student;
  74.         return $this;
  75.     }
  76.     public function getClassRoom(): ?ClassRoom
  77.     {
  78.         return $this->classRoom;
  79.     }
  80.     public function setClassRoom(?ClassRoom $classRoom): self
  81.     {
  82.         $this->classRoom $classRoom;
  83.         return $this;
  84.     }
  85.     public function getSchoolYear(): ?SchoolYear
  86.     {
  87.         return $this->schoolYear;
  88.     }
  89.     public function setSchoolYear(?SchoolYear $schoolYear): self
  90.     {
  91.         $this->schoolYear $schoolYear;
  92.         return $this;
  93.     }
  94.     public function getFinanceHolder(): ?bool
  95.     {
  96.         return $this->financeHolder;
  97.     }
  98.     public function setFinanceHolder(bool $financeHolder): self
  99.     {
  100.         $this->financeHolder $financeHolder;
  101.         return $this;
  102.     }
  103.     public function getOfficialExamResult(): ?string
  104.     {
  105.         return $this->officialExamResult;
  106.     }
  107.     public function getVerbalOfficialExamResult()
  108.     {
  109.         $result "PASSABLE";
  110.         switch ($this->officialExamResult) {
  111.             case "0":
  112.                 $result "ECHEC";
  113.                 break;
  114.             case "1p":
  115.                 $result "PASSABLE";
  116.                 break;
  117.             case "1a":
  118.                 $result "ASSEZ-BIEN";
  119.                 break;
  120.             case "1b":
  121.                 $result "BIEN";
  122.                 break;
  123.             case "1t":
  124.                 $result "TRES-BIEN";
  125.                 break;
  126.             case "1e":
  127.                 $result "EXCELLENT";
  128.                 break;
  129.             case "A":
  130.                 $result "5 POINTS";
  131.                 break;
  132.             case "B":
  133.                 $result "4 POINTS";
  134.                 break;
  135.             case "C":
  136.                 $result "3 POINTS";
  137.                 break;
  138.             case "D":
  139.                 $result "2 POINTS";
  140.                 break;
  141.             case "E":
  142.                 $result "1 POINTS";
  143.                 break;
  144.         }
  145.         return $result;
  146.     }
  147.     public function setOfficialExamResult(?string $officialExamResult): static
  148.     {
  149.         $this->officialExamResult $officialExamResult;
  150.         return $this;
  151.     }
  152.     public function isFinanceHolder(): ?bool
  153.     {
  154.         return $this->financeHolder;
  155.     }
  156. }