src/Entity/AggregatedCommissions.php line 14

  1. <?php
  2. namespace App\Entity;
  3. use App\Enum\CustomerClass;
  4. use App\Enum\RegionEnum;
  5. use App\Repository\PaymentRepository;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Gedmo\Timestampable\Traits\TimestampableEntity;
  10. #[ORM\Entity(repositoryClassPaymentRepository::class)]
  11. class AggregatedCommissions
  12. {
  13.     use TimestampableEntity;
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     private ?int $id null;
  18.     #[ORM\ManyToOne]
  19.     #[ORM\JoinColumn(nullablefalse)]
  20.     private ?User $user null;
  21.     #[ORM\Column]
  22.     private ?int $amtInPennies null;
  23.     #[ORM\ManyToOne(inversedBy'aggregatedCommissions')]
  24.     private ?TotalDue $totalDue null;
  25.     #[ORM\ManyToOne(inversedBy'aggregatedCommissions')]
  26.     #[ORM\JoinColumn(nullablefalse)]
  27.     private ?UserPaymentPeriod $userPaymentPeriod null;
  28.     #[ORM\OneToMany(mappedBy'aggregatedCommission'targetEntityCommissionResult::class)]
  29.     private Collection $commissionResults;
  30.     public function __construct()
  31.     {
  32.         $this->commissionResults = new ArrayCollection();
  33.     }
  34.     public function getId(): ?int
  35.     {
  36.         return $this->id;
  37.     }
  38.     public function getUser(): ?User
  39.     {
  40.         return $this->user;
  41.     }
  42.     public function setUser(?User $user): self
  43.     {
  44.         $this->user $user;
  45.         return $this;
  46.     }
  47.     public function getAmtInPennies(): ?int
  48.     {
  49.         return $this->amtInPennies;
  50.     }
  51.     public function setAmtInPennies(int $amtInPennies): self
  52.     {
  53.         $this->amtInPennies $amtInPennies;
  54.         return $this;
  55.     }
  56.     public function getTotalDue(): ?TotalDue
  57.     {
  58.         return $this->totalDue;
  59.     }
  60.     public function setTotalDue(?TotalDue $totalDue): self
  61.     {
  62.         $this->totalDue $totalDue;
  63.         return $this;
  64.     }
  65.     public function getUserPaymentPeriod(): ?UserPaymentPeriod
  66.     {
  67.         return $this->userPaymentPeriod;
  68.     }
  69.     public function setUserPaymentPeriod(?UserPaymentPeriod $userPaymentPeriod): self
  70.     {
  71.         $this->userPaymentPeriod $userPaymentPeriod;
  72.         return $this;
  73.     }
  74.     /**
  75.      * @return Collection<int, CommissionResult>
  76.      */
  77.     public function getCommissionResults(): Collection
  78.     {
  79.         return $this->commissionResults;
  80.     }
  81.     public function addCommissionResult(CommissionResult $commissionResult): self
  82.     {
  83.         if (!$this->commissionResults->contains($commissionResult)) {
  84.             $this->commissionResults->add($commissionResult);
  85.             $commissionResult->setAggregatedCommission($this);
  86.         }
  87.         return $this;
  88.     }
  89.     public function removeCommissionResult(CommissionResult $commissionResult): self
  90.     {
  91.         if ($this->commissionResults->removeElement($commissionResult)) {
  92.             // set the owning side to null (unless already changed)
  93.             if ($commissionResult->getAggregatedCommission() === $this) {
  94.                 $commissionResult->setAggregatedCommission(null);
  95.             }
  96.         }
  97.         return $this;
  98.     }
  99. }