src/Entity/Quota.php line 15
<?phpnamespace App\Entity;use App\Enum\QuotaClassification;use App\Enum\QuotaPeriodUnitType;use App\Repository\QuotaRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Gedmo\Timestampable\Traits\TimestampableEntity;#[ORM\Entity(repositoryClass: QuotaRepository::class)]class Quota{use TimestampableEntity;#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private ?string $name = null;#[ORM\Column(length: 255, nullable: true)]private ?QuotaPeriodUnitType $unitType = null;#[ORM\OneToMany(mappedBy: 'quota', targetEntity: QuotaTier::class, cascade: ['persist'], orphanRemoval: true)]private Collection $quotaTiers;#[ORM\Column(length: 255, nullable: true)]private ?QuotaClassification $classification = null;#[ORM\ManyToOne]private ?Quota $parent = null;#[ORM\ManyToOne]private ?User $user = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $effectiveStart = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $effectiveEnd = null;#[ORM\ManyToOne(inversedBy: 'quotas')]private ?Year $year = null;#[ORM\ManyToOne(inversedBy: 'quotas')]private ?Period $period = null;#[ORM\Column(type: Types::TEXT, nullable: true)]private ?string $description = null;#[ORM\OneToMany(mappedBy: 'quota', targetEntity: QuotaAssignment::class, orphanRemoval: true)]private Collection $quotaAssignments;#[ORM\OneToMany(mappedBy: 'quota', targetEntity: RuleResult::class)]private Collection $ruleResults;#[ORM\OneToMany(mappedBy: 'quota', targetEntity: Commission::class)]private Collection $commissions;public function __construct(){$this->quotaTiers = new ArrayCollection();$this->quotaAssignments = new ArrayCollection();$this->ruleResults = new ArrayCollection();$this->commissions = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getName(): ?string{return $this->name;}public function setName(string $name): self{$this->name = $name;return $this;}public function getUnitType(): ?QuotaPeriodUnittype{return $this->unitType;}public function setUnitType(?QuotaPeriodUnitType $unitType): self{$this->unitType = $unitType;return $this;}/*** @return Collection<int, QuotaTier>*/public function getQuotaTiers(): Collection{return $this->quotaTiers;}public function addQuotaTier(QuotaTier $quotaTier): self{if (!$this->quotaTiers->contains($quotaTier)) {$this->quotaTiers->add($quotaTier);$quotaTier->setQuota($this);}return $this;}public function removeQuotaTier(QuotaTier $quotaTier): self{if ($this->quotaTiers->removeElement($quotaTier)) {// set the owning side to null (unless already changed)if ($quotaTier->getQuota() === $this) {$quotaTier->setQuota(null);}}return $this;}public function getClassification(): ?QuotaClassification{return $this->classification;}public function setClassification(?QuotaClassification $classification): self{$this->classification = $classification;return $this;}public function getUser() : ?User{return $this->user;}public function setUser(?User $user): self{$this->user = $user;return $this;}public function getParent() : ?Quota{return $this->parent;}public function setParent(?Quota $parent): self{$this->parent = $parent;return $this;}public function getEffectiveStart(): ?\DateTimeInterface{return $this->effectiveStart;}public function setEffectiveStart(?\DateTimeInterface $effectiveStart): self{$this->effectiveStart = $effectiveStart;return $this;}public function getEffectiveEnd(): ?\DateTimeInterface{return $this->effectiveEnd;}public function setEffectiveEnd(?\DateTimeInterface $effectiveEnd): self{$this->effectiveEnd = $effectiveEnd;return $this;}public function __toString(){return $this->name;}public function getYear(): ?Year{return $this->year;}public function setYear(?Year $year): self{$this->year = $year;return $this;}public function getPeriod(): ?Period{return $this->period;}public function setPeriod(?Period $period): self{$this->period = $period;return $this;}public function getDescription(): ?string{return $this->description;}public function setDescription(?string $description): self{$this->description = $description;return $this;}/*** @return Collection<int, QuotaAssignment>*/public function getQuotaAssignments(): Collection{return $this->quotaAssignments;}public function addQuotaAssignment(QuotaAssignment $quotaAssignment): self{if (!$this->quotaAssignments->contains($quotaAssignment)) {$this->quotaAssignments->add($quotaAssignment);$quotaAssignment->setQuota($this);}return $this;}public function removeQuotaAssignment(QuotaAssignment $quotaAssignment): self{if ($this->quotaAssignments->removeElement($quotaAssignment)) {// set the owning side to null (unless already changed)if ($quotaAssignment->getQuota() === $this) {$quotaAssignment->setQuota(null);}}return $this;}/*** @return Collection<int, RuleResult>*/public function getRuleResults(): Collection{return $this->ruleResults;}public function addRuleResult(RuleResult $ruleResult): static{if (!$this->ruleResults->contains($ruleResult)) {$this->ruleResults->add($ruleResult);$ruleResult->setQuota($this);}return $this;}public function removeRuleResult(RuleResult $ruleResult): static{if ($this->ruleResults->removeElement($ruleResult)) {// set the owning side to null (unless already changed)if ($ruleResult->getQuota() === $this) {$ruleResult->setQuota(null);}}return $this;}/*** @return Collection<int, Commission>*/public function getCommissions(): Collection{return $this->commissions;}public function addCommission(Commission $commission): static{if (!$this->commissions->contains($commission)) {$this->commissions->add($commission);$commission->setQuota($this);}return $this;}public function removeCommission(Commission $commission): static{if ($this->commissions->removeElement($commission)) {// set the owning side to null (unless already changed)if ($commission->getQuota() === $this) {$commission->setQuota(null);}}return $this;}}