IntangiblePriceAndDiscount.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Product;
  4. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  5. use App\Entity\Billing\FamilyQuotientModel;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. /**
  11. * Classe ... qui ...
  12. */
  13. // #[Auditable]
  14. #[ORM\Entity]
  15. class IntangiblePriceAndDiscount
  16. {
  17. #[ORM\Id]
  18. #[ORM\Column]
  19. #[ORM\GeneratedValue]
  20. #[Groups('access_people_ref')]
  21. private ?int $id = null;
  22. #[ORM\OneToMany(mappedBy: 'intangiblePriceAndDiscount', targetEntity: IntangibleDiscountDetail::class, cascade: ['persist'], orphanRemoval: true)]
  23. private Collection $intangibleDiscountDetails;
  24. #[ORM\OneToOne(mappedBy: 'intangiblePriceAndDiscount', targetEntity: Intangible::class, cascade: [])]
  25. protected Intangible $intangible;
  26. #[ORM\ManyToOne(targetEntity: FamilyQuotientModel::class, cascade: [], inversedBy: 'intangiblePriceAndDiscounts')]
  27. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: false, onDelete: 'SET NULL')]
  28. protected FamilyQuotientModel $familyQuotientModel;
  29. public function __construct()
  30. {
  31. $this->intangibleDiscountDetails = new ArrayCollection();
  32. }
  33. public function getId(): ?int
  34. {
  35. return $this->id;
  36. }
  37. /**
  38. * @return Collection<int, IntangibleDiscountDetail>
  39. */
  40. public function getIntangibleDiscountDetails(): Collection
  41. {
  42. return $this->intangibleDiscountDetails;
  43. }
  44. public function addIntangibleDiscountDetail(IntangibleDiscountDetail $intangibleDiscountDetail): self
  45. {
  46. if (!$this->intangibleDiscountDetails->contains($intangibleDiscountDetail)) {
  47. $this->intangibleDiscountDetails[] = $intangibleDiscountDetail;
  48. $intangibleDiscountDetail->setIntangiblePriceAndDiscount($this);
  49. }
  50. return $this;
  51. }
  52. public function removeIntangibleDiscountDetail(IntangibleDiscountDetail $intangibleDiscountDetail): self
  53. {
  54. if ($this->intangibleDiscountDetails->removeElement($intangibleDiscountDetail)) {
  55. // set the owning side to null (unless already changed)
  56. if ($intangibleDiscountDetail->getIntangiblePriceAndDiscount() === $this) {
  57. $intangibleDiscountDetail->setIntangiblePriceAndDiscount(null);
  58. }
  59. }
  60. return $this;
  61. }
  62. public function getIntangible(): Intangible
  63. {
  64. return $this->intangible;
  65. }
  66. public function setIntangible(Intangible $intangible): self
  67. {
  68. $this->intangible = $intangible;
  69. return $this;
  70. }
  71. public function getFamilyQuotientModel(): FamilyQuotientModel
  72. {
  73. return $this->familyQuotientModel;
  74. }
  75. public function setFamilyQuotientModel(FamilyQuotientModel $familyQuotientModel): self
  76. {
  77. $this->familyQuotientModel = $familyQuotientModel;
  78. return $this;
  79. }
  80. }