src/Entity/Installment.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\ClassRoom;
  4. use App\Repository\InstallmentRepository;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use App\Entity\Traits\Amount;
  8. use App\Entity\Traits\TimeStampable;
  9. /**
  10. * Tranche de scolarite
  11. *
  12. * @ORM\Table(name="installment")
  13. * @ORM\Entity(repositoryClass=InstallmentRepository::class)
  14. */
  15. class Installment
  16. {
  17. use Amount;
  18. /**
  19. * @ORM\ManyToOne(targetEntity=PaymentPlan::class,inversedBy="installments")
  20. * @ORM\JoinColumn(name="payment_plan_id", referencedColumnName="id", nullable=true)
  21. */
  22. private $paymentPlan;
  23. /**
  24. * @ORM\ManyToOne(targetEntity=ClassRoom::class)
  25. * @ORM\JoinColumn(name="classRoom_id", referencedColumnName="id", nullable=true)
  26. */
  27. private $classRoom;
  28. /**
  29. * @var int
  30. *
  31. * @ORM\Column(name="id", type="integer")
  32. * @ORM\Id
  33. * @ORM\GeneratedValue(strategy="AUTO")
  34. */
  35. private $id;
  36. /**
  37. * @var int
  38. *
  39. * @ORM\Column(name="ranking", type="integer")
  40. */
  41. private $ranking;
  42. /**
  43. * @var \Datetime
  44. *
  45. * @ORM\Column(name="deadline", type="datetime", nullable=false)
  46. */
  47. protected $deadline;
  48. public function getId(): ?int
  49. {
  50. return $this->id;
  51. }
  52. public function getRanking(): ?int
  53. {
  54. return $this->ranking;
  55. }
  56. public function setRanking(int $order): static
  57. {
  58. $this->ranking = $order;
  59. if($this->getPaymentPlan()->getWeight() < $order){
  60. $this->getPaymentPlan()->setWeight($order) ;
  61. }
  62. return $this;
  63. }
  64. public function getPaymentPlan(): ?PaymentPlan
  65. {
  66. return $this->paymentPlan;
  67. }
  68. public function setPaymentPlan(?PaymentPlan $paymentPlan): static
  69. {
  70. $this->paymentPlan = $paymentPlan;
  71. return $this;
  72. }
  73. public function getDeadline(): ?\DateTimeInterface
  74. {
  75. return $this->deadline;
  76. }
  77. public function setDeadline(?\DateTimeInterface $deadline): static
  78. {
  79. $this->deadline = $deadline;
  80. return $this;
  81. }
  82. public function getClassRoom(): ?ClassRoom
  83. {
  84. return $this->classRoom;
  85. }
  86. public function setClassRoom(?ClassRoom $classRoom): static
  87. {
  88. $this->classRoom = $classRoom;
  89. return $this;
  90. }
  91. }