BillingExportSetting.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Billing;
  4. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  5. use App\Entity\Access\Access;
  6. use App\Entity\Organization\Organization;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. /**
  11. * Classe ... qui ...
  12. */
  13. // #[Auditable]
  14. #[ORM\Entity]
  15. class BillingExportSetting
  16. {
  17. #[ORM\Id]
  18. #[ORM\Column]
  19. #[ORM\GeneratedValue]
  20. private ?int $id = null;
  21. #[ORM\ManyToOne]
  22. #[ORM\JoinColumn(nullable: true)]
  23. private SddTeneur $teneur;
  24. #[ORM\OneToOne(inversedBy: 'billingExportSetting', targetEntity: Organization::class, cascade: [])]
  25. protected Organization $organization;
  26. #[ORM\ManyToMany(targetEntity: Access::class, cascade: [], orphanRemoval: false)]
  27. protected Collection $stageManagers;
  28. public function __construct()
  29. {
  30. $this->stageManagers = new ArrayCollection();
  31. }
  32. public function getId(): ?int
  33. {
  34. return $this->id;
  35. }
  36. public function getTeneur(): ?SddTeneur
  37. {
  38. return $this->teneur;
  39. }
  40. public function setTeneur(?SddTeneur $teneur): self
  41. {
  42. $this->teneur = $teneur;
  43. return $this;
  44. }
  45. public function getOrganization(): Organization
  46. {
  47. return $this->organization;
  48. }
  49. public function setOrganization(Organization $organization): self
  50. {
  51. $this->organization = $organization;
  52. return $this;
  53. }
  54. public function getStageManagers(): Collection
  55. {
  56. return $this->stageManagers;
  57. }
  58. public function addStageManager(Access $stageManager): self
  59. {
  60. if (!$this->stageManagers->contains($stageManager)) {
  61. $this->stageManagers[] = $stageManager;
  62. // TODO: compléter (je n'ai pas le mappedBy)
  63. }
  64. return $this;
  65. }
  66. public function removeStageManager(Access $stageManager): self
  67. {
  68. $this->stageManagers->removeElement($stageManager);
  69. // TODO: compléter (je n'ai pas le mappedBy)
  70. return $this;
  71. }
  72. }