src/Admin/Modules/Contract/Entity/ContractDocumentsSet.php line 15

  1. <?php
  2. namespace App\Admin\Modules\Contract\Entity;
  3. use App\Modules\User\Entity\User;
  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. /**
  9.  * @ORM\Table(name="contract_documents_set", uniqueConstraints={@ORM\UniqueConstraint(columns={"id_added_by", "name"})})
  10.  * @ORM\Entity(repositoryClass="App\Admin\Modules\Contract\Repository\ContractDocumentsSetRepository")
  11.  */
  12. class ContractDocumentsSet
  13. {
  14.     /**
  15.      * @var int
  16.      *
  17.      * @ORM\Column(type="bigint", options={"unsigned"=true}))
  18.      * @ORM\Id
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      */
  21.     protected $id;
  22.     /**
  23.      * @var string
  24.      *
  25.      * @ORM\Column(name="name", type="string", length=255, nullable=false, options={"collation"="utf8_unicode_ci"})
  26.      */
  27.     private $name;
  28.     
  29.     /**
  30.      * @var \App\Modules\User\Entity\User
  31.      *
  32.      * @ORM\ManyToOne(targetEntity="App\Modules\User\Entity\User")
  33.      * @ORM\JoinColumns({
  34.      *   @ORM\JoinColumn(name="id_added_by", referencedColumnName="id", nullable=false, onDelete="CASCADE")
  35.      * })
  36.      */
  37.     private $addedBy;    
  38.     /**
  39.      * @var \App\Admin\Modules\Contract\Entity\ContractTemplate
  40.      *
  41.      * @ORM\ManyToMany(targetEntity="App\Admin\Modules\Contract\Entity\ContractTemplate")
  42.      * @ORM\JoinTable(name="contract_documents_set_document",
  43.      *      joinColumns={@ORM\JoinColumn(name="id_documents_set", referencedColumnName="id", onDelete="CASCADE")},
  44.      *      inverseJoinColumns={@ORM\JoinColumn(name="id_contract_template", referencedColumnName="id", onDelete="CASCADE")}
  45.      *    )
  46.      * @ORM\OrderBy({"name"="ASC"})
  47.      **/
  48.     private $documentTemplates;
  49.     public function __construct()
  50.     {
  51.         $this->documentTemplates = new ArrayCollection();
  52.     }
  53.     
  54.     public function __toString()
  55.     {
  56.         return $this->name;
  57.     }
  58.     
  59.     public function getId(): ?string
  60.     {
  61.         return $this->id;
  62.     }
  63.     public function getName(): ?string
  64.     {
  65.         return $this->name;
  66.     }
  67.     public function setName(string $name): self
  68.     {
  69.         $this->name $name;
  70.         return $this;
  71.     }
  72.     /**
  73.      * @return Collection<int, ContractTemplate>
  74.      */
  75.     public function getDocumentTemplates(): Collection
  76.     {
  77.         return $this->documentTemplates;
  78.     }
  79.     public function addDocumentTemplate(ContractTemplate $documentTemplate): self
  80.     {
  81.         if (!$this->documentTemplates->contains($documentTemplate)) {
  82.             $this->documentTemplates->add($documentTemplate);
  83.         }
  84.         return $this;
  85.     }
  86.     public function removeDocumentTemplate(ContractTemplate $documentTemplate): self
  87.     {
  88.         $this->documentTemplates->removeElement($documentTemplate);
  89.         return $this;
  90.     }
  91.     public function getAddedBy(): ?User
  92.     {
  93.         return $this->addedBy;
  94.     }
  95.     public function setAddedBy(?User $addedBy): self
  96.     {
  97.         $this->addedBy $addedBy;
  98.         return $this;
  99.     }    
  100. }