src/Entity/Company.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\File\CompanyFile;
  4. use App\Entity\File\Photo;
  5. use App\Entity\File\ProductFile;
  6. use App\Repository\CompanyRepository;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. /**
  11.  * @ORM\MappedSuperclass()
  12.  * @ORM\Entity(repositoryClass=CompanyRepository::class)
  13.  * @ORM\InheritanceType("SINGLE_TABLE")
  14.  * @ORM\DiscriminatorColumn(name="type", type="string")
  15.  * @ORM\DiscriminatorMap({"type_group" = "CompanyGroup", "type_company" = "Company"})
  16.  * @ORM\HasLifecycleCallbacks
  17.  */
  18. class Company extends AbstractEntity
  19. {
  20.     const TYPE 'type_company';
  21.     /**
  22.      * @ORM\Id
  23.      * @ORM\GeneratedValue
  24.      * @ORM\Column(type="integer")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @ORM\Column(type="string", length=8, nullable=true)
  29.      */
  30.     private $code;
  31.     /**
  32.      * @ORM\Column(type="integer", nullable=true)
  33.      */
  34.     private $provision;
  35.     /**
  36.      * @ORM\Column(type="string", length=512, nullable=true)
  37.      */
  38.     private $name;
  39.     /**
  40.      * @ORM\Column(type="string", length=512, nullable=true)
  41.      */
  42.     private $address;
  43.     /**
  44.      * @ORM\Column(type="string", length=255, nullable=true)
  45.      */
  46.     private $street;
  47.     /**
  48.      * @ORM\Column(type="string", length=128, nullable=true)
  49.      */
  50.     private $town;
  51.     /**
  52.      * @ORM\Column(type="string", length=6, nullable=true)
  53.      */
  54.     private $postal;
  55.     /**
  56.      * @ORM\Column(type="string", length=512, nullable=true)
  57.      */
  58.     private $address2;
  59.     /**
  60.      * @ORM\Column(type="string", length=255, nullable=true)
  61.      */
  62.     private $street2;
  63.     /**
  64.      * @ORM\Column(type="string", length=128, nullable=true)
  65.      */
  66.     private $town2;
  67.     /**
  68.      * @ORM\Column(type="string", length=6, nullable=true)
  69.      */
  70.     private $postal2;
  71.     /**
  72.      * @ORM\Column(type="string", length=32, nullable=true)
  73.      */
  74.     private $ic;
  75.     /**
  76.      * @ORM\Column(type="string", length=36, nullable=true)
  77.      */
  78.     private $dic;
  79.     /**
  80.      * @ORM\Column(type="string", length=128, nullable=true)
  81.      */
  82.     private $phone;
  83.     /**
  84.      * @ORM\Column(type="string", length=128, nullable=true)
  85.      */
  86.     private $email;
  87.     /**
  88.      * @ORM\Column(type="string", length=255, nullable=true)
  89.      */
  90.     private $bankName;
  91.     /**
  92.      * @ORM\Column(type="string", length=255, nullable=true)
  93.      */
  94.     private $bankAccount;
  95.     /**
  96.      * @ORM\Column(type="string", length=128, nullable=true)
  97.      */
  98.     private $swift;
  99.     /**
  100.      * @ORM\Column(type="string", length=128, nullable=true)
  101.      */
  102.     private $iban;
  103.     /**
  104.      * @ORM\Column(type="string", length=255, nullable=true)
  105.      */
  106.     private $registrationPlace;
  107.     /**
  108.      * @ORM\Column(type="string", length=255, nullable=true)
  109.      */
  110.     private $registrationNumber;
  111.     /**
  112.      * @ORM\Column(type="string", length=255, nullable=true)
  113.      */
  114.     private $registrationPartition;
  115.     /**
  116.      * @ORM\Column(type="string", length=255, nullable=true)
  117.      */
  118.     private $registrationInsertion;
  119.     /**
  120.      * @ORM\Column(type="string", length=255, nullable=true)
  121.      */
  122.     private $representantive;
  123.     /**
  124.      * @ORM\Column(type="text", nullable=true)
  125.      */
  126.     private $notes;
  127.     /**
  128.      * @ORM\OneToMany(targetEntity=User::class, mappedBy="company")
  129.      */
  130.     private $users;
  131.     /**
  132.      * @ORM\OneToMany(targetEntity=Order::class, mappedBy="company")
  133.      */
  134.     private $orders;
  135.     /**
  136.      * @ORM\OneToMany(targetEntity=Product::class, mappedBy="company")
  137.      */
  138.     private $products;
  139.     /**
  140.      * @ORM\Column(type="boolean")
  141.      */
  142.     private $deleted false;
  143.     /**
  144.      * @ORM\Column(type="string", length=6, nullable=true)
  145.      */
  146.     private $bankCode;
  147.     /**
  148.      * @ORM\Column(type="string", length=255, nullable=true)
  149.      */
  150.     private $webHeader;
  151.     /**
  152.      * @ORM\Column(type="text", nullable=true)
  153.      */
  154.     private $webPerex;
  155.     /**
  156.      * @ORM\Column(type="text", nullable=true)
  157.      */
  158.     private $webDesc;
  159.     /**
  160.      * @ORM\Column(type="string", length=255, nullable=true)
  161.      */
  162.     private $webImage;
  163.     /**
  164.      * @ORM\Column(type="string", length=255, nullable=true)
  165.      */
  166.     private $webLink;
  167.     /**
  168.      * @ORM\Column(type="string", length=255, nullable=true)
  169.      */
  170.     private $webLinkForm;
  171.     /**
  172.      * @ORM\Column(type="integer", nullable=true)
  173.      */
  174.     private $webOrder 0;
  175.     /**
  176.      * @ORM\Column(type="string", length=255, nullable=true)
  177.      */
  178.     private $demioForm;
  179.     /**
  180.      * @ORM\ManyToOne(targetEntity=Company::class, inversedBy="companyGroupCompanies")
  181.      * @ORM\JoinColumn(name="company_group_id", referencedColumnName="id")
  182.      */
  183.     protected $companyGroup;
  184.     /**
  185.      * @ORM\OneToMany(targetEntity=Company::class, mappedBy="companyGroup")
  186.      */
  187.     protected $companyGroupCompanies;
  188.     /**
  189.      * @ORM\OneToMany(targetEntity=InvoiceAutomation::class, mappedBy="subscriber")
  190.      */
  191.     private $invoices;
  192.     /**
  193.      * @ORM\OneToMany(targetEntity=InvoiceAutomationExpand::class, mappedBy="company")
  194.      */
  195.     private $invoiceAutomationExpands;
  196.     /**
  197.      * @ORM\OneToMany(targetEntity=InterestPaidoffReport::class, mappedBy="company")
  198.      */
  199.     private $interestPaidoffReports;
  200.     /**
  201.      * @ORM\OneToOne(targetEntity=Photo::class, cascade={"persist", "remove"})
  202.      */
  203.     private $profilePhoto;
  204.     /**
  205.      * @ORM\OneToMany(targetEntity=CompanyFile::class, mappedBy="company", cascade={"persist", "remove"})
  206.      * @ORM\OrderBy({"sortOrder" = "ASC"})
  207.      */
  208.     private $companyFiles;
  209.     public function __construct()
  210.     {
  211.         $this->users = new ArrayCollection();
  212.         $this->orders = new ArrayCollection();
  213.         $this->products = new ArrayCollection();
  214.         $this->companyGroupCompanies = new ArrayCollection();
  215.         $this->invoices = new ArrayCollection();
  216.         $this->invoiceAutomationExpands = new ArrayCollection();
  217.         $this->interestPaidoffReports = new ArrayCollection();
  218.         $this->companyFiles = new ArrayCollection();
  219.     }
  220.     /**
  221.      * @return string (ID:{$this->getId()}) {$this->getName()}
  222.      */
  223.     public function __toString(): string
  224.     {
  225.         return "{$this->getName()}";
  226.     }
  227.     public function getId(): ?int
  228.     {
  229.         return $this->id;
  230.     }
  231.     public function getCode(): ?string
  232.     {
  233.         return $this->code;
  234.     }
  235.     public function setCode(?string $code): self
  236.     {
  237.         $this->code $code;
  238.         return $this;
  239.     }
  240.     public function getProvision(): ?int
  241.     {
  242.         return $this->provision;
  243.     }
  244.     public function setProvision(?int $provision): self
  245.     {
  246.         $this->provision $provision;
  247.         return $this;
  248.     }
  249.     /**
  250.      * @return mixed
  251.      */
  252.     public function getName()
  253.     {
  254.         return $this->name;
  255.     }
  256.     /**
  257.      * @param mixed $name
  258.      */
  259.     public function setName($name): self
  260.     {
  261.         $this->name $name;
  262.         return $this;
  263.     }
  264.     /**
  265.      * @return mixed
  266.      */
  267.     public function getAddress()
  268.     {
  269.         if(is_null($this->address)){
  270.             return
  271.                 $this->getStreet() . " " .
  272.                 $this->getTown() . " " .
  273.                 $this->getPostal();
  274.         }
  275.         return $this->address;
  276.     }
  277.     /**
  278.      * @param mixed $address
  279.      */
  280.     public function setAddress($address): void
  281.     {
  282.         $this->address $address;
  283.     }
  284.     /**
  285.      * @return mixed
  286.      */
  287.     public function getStreet()
  288.     {
  289.         return $this->street;
  290.     }
  291.     /**
  292.      * @param mixed $street
  293.      */
  294.     public function setStreet($street): void
  295.     {
  296.         $this->street $street;
  297.     }
  298.     /**
  299.      * @return mixed
  300.      */
  301.     public function getTown()
  302.     {
  303.         return $this->town;
  304.     }
  305.     /**
  306.      * @param mixed $town
  307.      */
  308.     public function setTown($town): void
  309.     {
  310.         $this->town $town;
  311.     }
  312.     /**
  313.      * @return mixed
  314.      */
  315.     public function getPostal()
  316.     {
  317.         return $this->postal;
  318.     }
  319.     /**
  320.      * @param mixed $postal
  321.      */
  322.     public function setPostal($postal): void
  323.     {
  324.         $this->postal $postal;
  325.     }
  326.     /**
  327.      * @return mixed
  328.      */
  329.     public function getAddress2()
  330.     {
  331.         if(is_null($this->address2)){
  332.             return
  333.                 $this->getStreet2() . " " .
  334.                 $this->getTown2() . " " .
  335.                 $this->getPostal2();
  336.         }
  337.         return $this->address2;
  338.     }
  339.     /**
  340.      * @param mixed $address2
  341.      */
  342.     public function setAddress2($address2): void
  343.     {
  344.         $this->address2 $address2;
  345.     }
  346.     /**
  347.      * @return mixed
  348.      */
  349.     public function getStreet2()
  350.     {
  351.         return $this->street2;
  352.     }
  353.     /**
  354.      * @param mixed $street2
  355.      */
  356.     public function setStreet2($street2): void
  357.     {
  358.         $this->street2 $street2;
  359.     }
  360.     /**
  361.      * @return mixed
  362.      */
  363.     public function getTown2()
  364.     {
  365.         return $this->town2;
  366.     }
  367.     /**
  368.      * @param mixed $town2
  369.      */
  370.     public function setTown2($town2): void
  371.     {
  372.         $this->town2 $town2;
  373.     }
  374.     /**
  375.      * @return mixed
  376.      */
  377.     public function getPostal2()
  378.     {
  379.         return $this->postal2;
  380.     }
  381.     /**
  382.      * @param mixed $postal2
  383.      */
  384.     public function setPostal2($postal2): void
  385.     {
  386.         $this->postal2 $postal2;
  387.     }
  388.     /**
  389.      * @return mixed
  390.      */
  391.     public function getIc()
  392.     {
  393.         return $this->ic;
  394.     }
  395.     /**
  396.      * @param mixed $ic
  397.      */
  398.     public function setIc($ic): self
  399.     {
  400.         $this->ic $ic;
  401.         return $this;
  402.     }
  403.     /**
  404.      * @return mixed
  405.      */
  406.     public function getDic()
  407.     {
  408.         return $this->dic;
  409.     }
  410.     /**
  411.      * @param mixed $dic
  412.      */
  413.     public function setDic($dic): self
  414.     {
  415.         $this->dic $dic;
  416.         return $this;
  417.     }
  418.     /**
  419.      * @return mixed
  420.      */
  421.     public function getPhone()
  422.     {
  423.         return $this->phone;
  424.     }
  425.     /**
  426.      * @param mixed $phone
  427.      */
  428.     public function setPhone($phone): void
  429.     {
  430.         $this->phone $phone;
  431.     }
  432.     /**
  433.      * @return mixed
  434.      */
  435.     public function getEmail()
  436.     {
  437.         return $this->email;
  438.     }
  439.     /**
  440.      * @param mixed $email
  441.      */
  442.     public function setEmail($email): void
  443.     {
  444.         $this->email $email;
  445.     }
  446.     /**
  447.      * @return mixed
  448.      */
  449.     public function getBankName()
  450.     {
  451.         return $this->bankName;
  452.     }
  453.     /**
  454.      * @param mixed $bankName
  455.      */
  456.     public function setBankName($bankName): void
  457.     {
  458.         $this->bankName $bankName;
  459.     }
  460.     /**
  461.      * @return mixed
  462.      */
  463.     public function getBankAccount()
  464.     {
  465.         return $this->bankAccount;
  466.     }
  467.     /**
  468.      * @param mixed $bankAccount
  469.      */
  470.     public function setBankAccount($bankAccount): void
  471.     {
  472.         $this->bankAccount $bankAccount;
  473.     }
  474.     /**
  475.      * @return mixed
  476.      */
  477.     public function getSwift()
  478.     {
  479.         return $this->swift;
  480.     }
  481.     /**
  482.      * @param mixed $swift
  483.      */
  484.     public function setSwift($swift): void
  485.     {
  486.         $this->swift $swift;
  487.     }
  488.     /**
  489.      * @return mixed
  490.      */
  491.     public function getIban()
  492.     {
  493.         return $this->iban;
  494.     }
  495.     /**
  496.      * @param mixed $iban
  497.      */
  498.     public function setIban($iban): void
  499.     {
  500.         $this->iban $iban;
  501.     }
  502.     /**
  503.      * @return mixed
  504.      */
  505.     public function getRegistrationPlace()
  506.     {
  507.         return $this->registrationPlace;
  508.     }
  509.     /**
  510.      * @param mixed $registrationPlace
  511.      */
  512.     public function setRegistrationPlace($registrationPlace): void
  513.     {
  514.         $this->registrationPlace $registrationPlace;
  515.     }
  516.     /**
  517.      * @return mixed
  518.      */
  519.     public function getRegistrationNumber()
  520.     {
  521.         return $this->registrationNumber;
  522.     }
  523.     /**
  524.      * @param mixed $registrationNumber
  525.      */
  526.     public function setRegistrationNumber($registrationNumber): void
  527.     {
  528.         $this->registrationNumber $registrationNumber;
  529.     }
  530.     /**
  531.      * @return mixed
  532.      */
  533.     public function getRegistrationPartition()
  534.     {
  535.         return $this->registrationPartition;
  536.     }
  537.     /**
  538.      * @param mixed $registrationPartition
  539.      */
  540.     public function setRegistrationPartition($registrationPartition): void
  541.     {
  542.         $this->registrationPartition $registrationPartition;
  543.     }
  544.     /**
  545.      * @return mixed
  546.      */
  547.     public function getRegistrationInsertion()
  548.     {
  549.         return $this->registrationInsertion;
  550.     }
  551.     /**
  552.      * @param mixed $registrationInsertion
  553.      */
  554.     public function setRegistrationInsertion($registrationInsertion): void
  555.     {
  556.         $this->registrationInsertion $registrationInsertion;
  557.     }
  558.     /**
  559.      * @return mixed
  560.      */
  561.     public function getRepresentantive()
  562.     {
  563.         return $this->representantive;
  564.     }
  565.     /**
  566.      * @param mixed $representantive
  567.      */
  568.     public function setRepresentantive($representantive): void
  569.     {
  570.         $this->representantive $representantive;
  571.     }
  572.     /**
  573.      * @return mixed
  574.      */
  575.     public function getNotes()
  576.     {
  577.         return $this->notes;
  578.     }
  579.     /**
  580.      * @param mixed $notes
  581.      */
  582.     public function setNotes($notes): void
  583.     {
  584.         $this->notes $notes;
  585.     }
  586.     /**
  587.      * @return Collection<int, User>
  588.      */
  589.     public function getUsers(): Collection
  590.     {
  591.         return $this->users;
  592.     }
  593.     public function addUser(User $user): self
  594.     {
  595.         if (!$this->users->contains($user)) {
  596.             $this->users[] = $user;
  597.             $user->setCompany($this);
  598.         }
  599.         return $this;
  600.     }
  601.     public function removeUser(User $user): self
  602.     {
  603.         if ($this->users->removeElement($user)) {
  604.             // set the owning side to null (unless already changed)
  605.             if ($user->getCompany() === $this) {
  606.                 $user->setCompany(null);
  607.             }
  608.         }
  609.         return $this;
  610.     }
  611.     /**
  612.      * @return Collection<int, Order>
  613.      */
  614.     public function getOrders(): Collection
  615.     {
  616.         return $this->orders;
  617.     }
  618.     public function addOrder(Order $order): self
  619.     {
  620.         if (!$this->orders->contains($order)) {
  621.             $this->orders[] = $order;
  622.             $order->setCompany($this);
  623.         }
  624.         return $this;
  625.     }
  626.     public function removeOrder(Order $order): self
  627.     {
  628.         if ($this->orders->removeElement($order)) {
  629.             // set the owning side to null (unless already changed)
  630.             if ($order->getCompany() === $this) {
  631.                 $order->setCompany(null);
  632.             }
  633.         }
  634.         return $this;
  635.     }
  636.     /**
  637.      * @return Collection<int, Product>
  638.      */
  639.     public function getProducts(): Collection
  640.     {
  641.         return $this->products;
  642.     }
  643.     public function addProduct(Product $product): self
  644.     {
  645.         if (!$this->products->contains($product)) {
  646.             $this->products[] = $product;
  647.             $product->setCompany($this);
  648.         }
  649.         return $this;
  650.     }
  651.     public function removeProduct(Product $product): self
  652.     {
  653.         if ($this->products->removeElement($product)) {
  654.             // set the owning side to null (unless already changed)
  655.             if ($product->getCompany() === $this) {
  656.                 $product->setCompany(null);
  657.             }
  658.         }
  659.         return $this;
  660.     }
  661.     public function isDeleted(): ?bool
  662.     {
  663.         return $this->deleted;
  664.     }
  665.     public function setDeleted(bool $deleted): self
  666.     {
  667.         $this->deleted $deleted;
  668.         return $this;
  669.     }
  670.     public function getBankCode(): ?string
  671.     {
  672.         return $this->bankCode;
  673.     }
  674.     public function setBankCode(?string $bankCode): self
  675.     {
  676.         $this->bankCode $bankCode;
  677.         return $this;
  678.     }
  679.     public function getWebHeader(): ?string
  680.     {
  681.         return $this->webHeader;
  682.     }
  683.     public function setWebHeader(?string $webHeader): self
  684.     {
  685.         $this->webHeader $webHeader;
  686.         return $this;
  687.     }
  688.     public function getWebPerex(): ?string
  689.     {
  690.         return $this->webPerex;
  691.     }
  692.     public function setWebPerex(?string $webPerex): self
  693.     {
  694.         $this->webPerex $webPerex;
  695.         return $this;
  696.     }
  697.     public function getWebDesc(): ?string
  698.     {
  699.         return $this->webDesc;
  700.     }
  701.     public function setWebDesc(?string $webDesc): self
  702.     {
  703.         $this->webDesc $webDesc;
  704.         return $this;
  705.     }
  706.     public function getWebImage(): ?string
  707.     {
  708.         return $this->webImage;
  709.     }
  710.     public function setWebImage(?string $webImage): self
  711.     {
  712.         $this->webImage $webImage;
  713.         return $this;
  714.     }
  715.     public function getWebLink(): ?string
  716.     {
  717.         return $this->webLink;
  718.     }
  719.     public function setWebLink(?string $webLink): self
  720.     {
  721.         $this->webLink $webLink;
  722.         return $this;
  723.     }
  724.     public function getWebLinkForm(): ?string
  725.     {
  726.         return $this->webLinkForm;
  727.     }
  728.     public function setWebLinkForm(?string $webLinkForm): self
  729.     {
  730.         $this->webLinkForm $webLinkForm;
  731.         return $this;
  732.     }
  733.     public function getDemioForm(): ?string
  734.     {
  735.         return $this->demioForm;
  736.     }
  737.     public function setDemioForm(?string $demioForm): self
  738.     {
  739.         $this->demioForm $demioForm;
  740.         return $this;
  741.     }
  742.     public function getWebOrder(): ?int
  743.     {
  744.         return $this->webOrder;
  745.     }
  746.     public function setWebOrder(?int $webOrder): self
  747.     {
  748.         $this->webOrder $webOrder;
  749.         return $this;
  750.     }
  751.     public function getCompanyGroup(): ?self
  752.     {
  753.         return $this->companyGroup;
  754.     }
  755.     public function setCompanyGroup(?self $companyGroup): self
  756.     {
  757.         $this->companyGroup $companyGroup;
  758.         return $this;
  759.     }
  760.     /**
  761.      * @return Collection<int, InvoiceAutomation>
  762.      */
  763.     public function getInvoices(): Collection
  764.     {
  765.         return $this->invoices;
  766.     }
  767.     public function addInvoice(InvoiceAutomation $invoice): self
  768.     {
  769.         if (!$this->invoices->contains($invoice)) {
  770.             $this->invoices[] = $invoice;
  771.             $invoice->setSubscriber($this);
  772.         }
  773.         return $this;
  774.     }
  775.     public function removeInvoice(InvoiceAutomation $invoice): self
  776.     {
  777.         if ($this->invoices->removeElement($invoice)) {
  778.             // set the owning side to null (unless already changed)
  779.             if ($invoice->getSubscriber() === $this) {
  780.                 $invoice->setSubscriber(null);
  781.             }
  782.         }
  783.         return $this;
  784.     }
  785.     /**
  786.      * @return Collection<int, InvoiceAutomationExpand>
  787.      */
  788.     public function getInvoiceAutomationExpands(): Collection
  789.     {
  790.         return $this->invoiceAutomationExpands;
  791.     }
  792.     public function addInvoiceAutomationExpand(InvoiceAutomationExpand $invoiceAutomationExpand): self
  793.     {
  794.         if (!$this->invoiceAutomationExpands->contains($invoiceAutomationExpand)) {
  795.             $this->invoiceAutomationExpands[] = $invoiceAutomationExpand;
  796.             $invoiceAutomationExpand->setCompany($this);
  797.         }
  798.         return $this;
  799.     }
  800.     public function removeInvoiceAutomationExpand(InvoiceAutomationExpand $invoiceAutomationExpand): self
  801.     {
  802.         if ($this->invoiceAutomationExpands->removeElement($invoiceAutomationExpand)) {
  803.             // set the owning side to null (unless already changed)
  804.             if ($invoiceAutomationExpand->getCompany() === $this) {
  805.                 $invoiceAutomationExpand->setCompany(null);
  806.             }
  807.         }
  808.         return $this;
  809.     }
  810.     /**
  811.      * @return Collection<int, InterestPaidoffReport>
  812.      */
  813.     public function getInterestPaidoffReports(): Collection
  814.     {
  815.         return $this->interestPaidoffReports;
  816.     }
  817.     public function addInterestPaidoffReport(InterestPaidoffReport $interestPaidoffReport): self
  818.     {
  819.         if (!$this->interestPaidoffReports->contains($interestPaidoffReport)) {
  820.             $this->interestPaidoffReports[] = $interestPaidoffReport;
  821.             $interestPaidoffReport->setCompany($this);
  822.         }
  823.         return $this;
  824.     }
  825.     public function removeInterestPaidoffReport(InterestPaidoffReport $interestPaidoffReport): self
  826.     {
  827.         if ($this->interestPaidoffReports->removeElement($interestPaidoffReport)) {
  828.             // set the owning side to null (unless already changed)
  829.             if ($interestPaidoffReport->getCompany() === $this) {
  830.                 $interestPaidoffReport->setCompany(null);
  831.             }
  832.         }
  833.         return $this;
  834.     }
  835.     public function getProfilePhoto(): ?Photo
  836.     {
  837.         return $this->profilePhoto;
  838.     }
  839.     public function setProfilePhoto(?Photo $profilePhoto): self
  840.     {
  841.         $this->profilePhoto $profilePhoto;
  842.         return $this;
  843.     }
  844.     /**
  845.      * @return Collection<int, CompanyFile>
  846.      */
  847.     public function getCompanyFiles(): Collection
  848.     {
  849.         return $this->companyFiles;
  850.     }
  851.     public function addCompanyFile(CompanyFile $companyFile): self
  852.     {
  853.         if (!$this->companyFiles->contains($companyFile)) {
  854.             $this->companyFiles[] = $companyFile;
  855.             $companyFile->setCompany($this);
  856.         }
  857.         return $this;
  858.     }
  859.     public function removeCompanyFile(CompanyFile $companyFile): self
  860.     {
  861.         if ($this->companyFiles->removeElement($companyFile)) {
  862.             // set the owning side to null (unless already changed)
  863.             if ($companyFile->getCompany() === $this) {
  864.                 $companyFile->setCompany(null);
  865.             }
  866.         }
  867.         return $this;
  868.     }
  869. }