src/Entity/Contract.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ContractRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Uid\Uuid;
  9. #[ORM\Entity(repositoryClassContractRepository::class)]
  10. class Contract
  11. {
  12.     #[ORM\Id]
  13.     #[ORM\GeneratedValue]
  14.     #[ORM\Column]
  15.     private ?int $id null;
  16.     #[ORM\Column(type'uuid'uniquetrue)]
  17.     private ?string $uuid;
  18.     #[ORM\ManyToOne(targetEntityCustomer::class)]
  19.     #[ORM\JoinColumn(name'fk_customer')]
  20.     private ?Customer $customer null;
  21.     #[ORM\OneToMany(
  22.         mappedBy'contract',
  23.         targetEntityCustomerAdvertisingArea::class,
  24.         cascade: ['persist''remove']
  25.     )]
  26.     private ?Collection $areas;
  27.     #[ORM\ManyToOne(targetEntitySponsor::class, inversedBy'contracts')]
  28.     #[ORM\JoinColumn(name'fk_sponsor')]
  29.     private ?Sponsor $sponsor null;
  30.     #[ORM\OneToMany(
  31.         mappedBy'contract',
  32.         targetEntityInvoice::class,
  33.         cascade: ['persist''remove']
  34.     )]
  35.     private ?Collection $invoices;
  36.     #[ORM\Column]
  37.     private ?\DateTime $startAt null;
  38.     #[ORM\Column]
  39.     private ?\DateTime $endAt null;
  40.     #[ORM\Column(nullabletrue)]
  41.     private ?\DateTime $createdAt null;
  42.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  43.     private ?\DateTime $dateNextInvoice null;
  44.     #[ORM\Column]
  45.     private ?string $state null;
  46.     #[ORM\Column(nullabletrue)]
  47.     private ?string $file;
  48.     #[ORM\Column(nullabletrue)]
  49.     private ?\DateTime $notifyCancellable null;
  50.     #[ORM\Column(nullabletrue)]
  51.     private ?string $number null;
  52.     #[ORM\Column(nullabletrue)]
  53.     private ?int $duration null;
  54.     #[ORM\Column]
  55.     private bool $existingContract false;
  56.     #[ORM\Column]
  57.     private ?bool $contributionActive false;
  58.     #[ORM\Column]
  59.     private ?float $contributionPrice 0;
  60.     #[ORM\ManyToOne(targetEntityInvoiceInterval::class)]
  61.     #[ORM\JoinColumn(name'fk_invoice_interval')]
  62.     private InvoiceInterval|null $invoiceInterval null;
  63.     #[ORM\OneToMany(mappedBy'contract'targetEntityContractFeedback::class, cascade: ['persist''remove'])]
  64.     private Collection $feedback;
  65.     #[ORM\OneToOne(mappedBy'contract'cascade: ['persist''remove'])]
  66.     private ?ContractAgreement $agreement null;
  67.     #[ORM\Column(type'text'nullabletrue)]
  68.     private ?string $signature null;
  69.     #[ORM\Column]
  70.     private ?int $extendingPeriodInMonth null;
  71.     #[ORM\Column]
  72.     private ?int $cancelingPeriodInMonth null;
  73.     public function __construct()
  74.     {
  75.         $this->areas = new ArrayCollection();
  76.         $this->invoices = new ArrayCollection();
  77.         $this->feedback = new ArrayCollection();
  78.     }
  79.     public function getId(): ?int
  80.     {
  81.         return $this->id;
  82.     }
  83.     public function getStartAt(): ?\DateTime
  84.     {
  85.         return $this->startAt;
  86.     }
  87.     public function setStartAt(\DateTime $startAt): self
  88.     {
  89.         $this->startAt $startAt;
  90.         return $this;
  91.     }
  92.     public function getEndAt(): ?\DateTime
  93.     {
  94.         return $this->endAt;
  95.     }
  96.     public function setEndAt(\DateTime $endAt): self
  97.     {
  98.         $this->endAt $endAt;
  99.         return $this;
  100.     }
  101.     public function getCreatedAt(): ?\DateTimeInterface
  102.     {
  103.         return $this->createdAt;
  104.     }
  105.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  106.     {
  107.         $this->createdAt $createdAt;
  108.         return $this;
  109.     }
  110.     public function getDateNextInvoice(): ?\DateTimeInterface
  111.     {
  112.         return $this->dateNextInvoice;
  113.     }
  114.     public function setDateNextInvoice(?\DateTimeInterface $dateNextInvoice): self
  115.     {
  116.         $this->dateNextInvoice $dateNextInvoice;
  117.         return $this;
  118.     }
  119.     public function getState(): ?string
  120.     {
  121.         return $this->state;
  122.     }
  123.     public function setState(string $state): self
  124.     {
  125.         $this->state $state;
  126.         return $this;
  127.     }
  128.     public function getFile(): ?string
  129.     {
  130.         return $this->file;
  131.     }
  132.     public function setFile(?string $file): self
  133.     {
  134.         $this->file $file;
  135.         return $this;
  136.     }
  137.     public function getNotifyCancellable(): ?\DateTime
  138.     {
  139.         return $this->notifyCancellable;
  140.     }
  141.     public function setNotifyCancellable(?\DateTime $notifyCancellable): self
  142.     {
  143.         $this->notifyCancellable $notifyCancellable;
  144.         return $this;
  145.     }
  146.     public function getNumber(): ?string
  147.     {
  148.         return $this->number;
  149.     }
  150.     public function setNumber(?string $number): self
  151.     {
  152.         $this->number $number;
  153.         return $this;
  154.     }
  155.     public function getDuration(): ?int
  156.     {
  157.         return $this->duration;
  158.     }
  159.     public function setDuration(?int $duration): self
  160.     {
  161.         $this->duration $duration;
  162.         return $this;
  163.     }
  164.     public function isExistingContract(): ?bool
  165.     {
  166.         return $this->existingContract;
  167.     }
  168.     public function setExistingContract(bool $existingContract): self
  169.     {
  170.         $this->existingContract $existingContract;
  171.         return $this;
  172.     }
  173.     public function getCustomer(): ?Customer
  174.     {
  175.         return $this->customer;
  176.     }
  177.     public function setCustomer(?Customer $customer): self
  178.     {
  179.         $this->customer $customer;
  180.         return $this;
  181.     }
  182.     /**
  183.      * @return Collection<int, CustomerAdvertisingArea>
  184.      */
  185.     public function getAreas(): Collection
  186.     {
  187.         return $this->areas;
  188.     }
  189.     public function addArea(CustomerAdvertisingArea $area): self
  190.     {
  191.         if (!$this->areas->contains($area)) {
  192.             $this->areas->add($area);
  193.             $area->setContract($this);
  194.         }
  195.         return $this;
  196.     }
  197.     public function removeArea(CustomerAdvertisingArea $area): self
  198.     {
  199.         if ($this->areas->removeElement($area)) {
  200.             // set the owning side to null (unless already changed)
  201.             if ($area->getContract() === $this) {
  202.                 $area->setContract(null);
  203.             }
  204.         }
  205.         return $this;
  206.     }
  207.     public function getSponsor(): ?Sponsor
  208.     {
  209.         return $this->sponsor;
  210.     }
  211.     public function setSponsor(?Sponsor $sponsor): self
  212.     {
  213.         $this->sponsor $sponsor;
  214.         return $this;
  215.     }
  216.     /**
  217.      * @return Collection<int, Invoice>
  218.      */
  219.     public function getInvoices(): Collection
  220.     {
  221.         return $this->invoices;
  222.     }
  223.     public function addInvoice(Invoice $invoice): self
  224.     {
  225.         if (!$this->invoices->contains($invoice)) {
  226.             $this->invoices->add($invoice);
  227.             $invoice->setContract($this);
  228.         }
  229.         return $this;
  230.     }
  231.     public function removeInvoice(Invoice $invoice): self
  232.     {
  233.         if ($this->invoices->removeElement($invoice)) {
  234.             // set the owning side to null (unless already changed)
  235.             if ($invoice->getContract() === $this) {
  236.                 $invoice->setContract(null);
  237.             }
  238.         }
  239.         return $this;
  240.     }
  241.     public function getUuid(): ?string
  242.     {
  243.         return $this->uuid;
  244.     }
  245.     public function setUuid(Uuid $uuid): self
  246.     {
  247.         $this->uuid $uuid;
  248.         return $this;
  249.     }
  250.     public function isContributionActive(): ?bool
  251.     {
  252.         return $this->contributionActive;
  253.     }
  254.     public function setContributionActive(bool $contributionActive): self
  255.     {
  256.         $this->contributionActive $contributionActive;
  257.         return $this;
  258.     }
  259.     public function getContributionPrice(): ?float
  260.     {
  261.         return $this->contributionPrice;
  262.     }
  263.     public function setContributionPrice(float $contributionPrice): self
  264.     {
  265.         $this->contributionPrice $contributionPrice;
  266.         return $this;
  267.     }
  268.     public function getInvoiceInterval(): ?InvoiceInterval
  269.     {
  270.         return $this->invoiceInterval;
  271.     }
  272.     public function setInvoiceInterval(?InvoiceInterval $invoiceInterval): self
  273.     {
  274.         $this->invoiceInterval $invoiceInterval;
  275.         return $this;
  276.     }
  277.     /**
  278.      * @return Collection<int, ContractFeedback>
  279.      */
  280.     public function getFeedback(): Collection
  281.     {
  282.         return $this->feedback;
  283.     }
  284.     public function addFeedback(ContractFeedback $feedback): self
  285.     {
  286.         if (!$this->feedback->contains($feedback)) {
  287.             $this->feedback->add($feedback);
  288.             $feedback->setContract($this);
  289.         }
  290.         return $this;
  291.     }
  292.     public function removeFeedback(ContractFeedback $feedback): self
  293.     {
  294.         if ($this->feedback->removeElement($feedback)) {
  295.             // set the owning side to null (unless already changed)
  296.             if ($feedback->getContract() === $this) {
  297.                 $feedback->setContract(null);
  298.             }
  299.         }
  300.         return $this;
  301.     }
  302.     public function getSignature(): ?string
  303.     {
  304.         return $this->signature;
  305.     }
  306.     public function setSignature(string $signature): self
  307.     {
  308.         $this->signature $signature;
  309.         return $this;
  310.     }
  311.     public function getAgreement(): ?ContractAgreement
  312.     {
  313.         return $this->agreement;
  314.     }
  315.     public function setAgreement(?ContractAgreement $agreement): self
  316.     {
  317.         // unset the owning side of the relation if necessary
  318.         if ($agreement === null && $this->agreement !== null) {
  319.             $this->agreement->setContract(null);
  320.         }
  321.         // set the owning side of the relation if necessary
  322.         if ($agreement !== null && $agreement->getContract() !== $this) {
  323.             $agreement->setContract($this);
  324.         }
  325.         $this->agreement $agreement;
  326.         return $this;
  327.     }
  328.     public function getExtendingPeriodInMonth(): ?int
  329.     {
  330.         return $this->extendingPeriodInMonth;
  331.     }
  332.     public function setExtendingPeriodInMonth(int $extendingPeriodInMonth): self
  333.     {
  334.         $this->extendingPeriodInMonth $extendingPeriodInMonth;
  335.         return $this;
  336.     }
  337.     public function getCancelingPeriodInMonth(): ?int
  338.     {
  339.         return $this->cancelingPeriodInMonth;
  340.     }
  341.     public function setCancelingPeriodInMonth(int $cancelingPeriodInMonth): self
  342.     {
  343.         $this->cancelingPeriodInMonth $cancelingPeriodInMonth;
  344.         return $this;
  345.     }
  346. }