<?phpnamespace App\Entity;use App\Repository\EmailingClientListRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: EmailingClientListRepository::class)]class EmailingClientList{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private $id; #[ORM\ManyToOne(targetEntity: AccountingFirm::class, inversedBy: 'emailingClientLists')] private ?AccountingFirm $accountingFirm; #[ORM\Column(type: 'string', length: 255)] private ?string $name; #[ORM\Column(type: 'datetime_immutable')] private ?\DateTimeImmutable $createdAt; #[ORM\Column(type: 'datetime_immutable')] private ?\DateTimeImmutable $updatedAt; #[ORM\OneToMany(mappedBy: 'emailingClientList', targetEntity: EmailingClientListEmail::class, cascade: ['persist', 'remove'])] private $emailingClientListEmails; #[ORM\ManyToMany(targetEntity: EmailingClientCampaign::class, mappedBy: 'diffusionLists')] private $campaigns; #[ORM\Column(type: 'boolean', options: ['default' => false])] private bool $isTemporary = false; public function isTemporary(): bool { return $this->isTemporary; } public function setIsTemporary(bool $isTemporary): self { $this->isTemporary = $isTemporary; return $this; } public function __construct() { $this->emailingClientListEmails = new ArrayCollection(); $this->campaigns = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getAccountingFirm(): ?AccountingFirm { return $this->accountingFirm; } public function setAccountingFirm(?AccountingFirm $accountingFirm): self { $this->accountingFirm = $accountingFirm; return $this; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } public function setCreatedAt(\DateTimeImmutable $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?\DateTimeImmutable { return $this->updatedAt; } public function setUpdatedAt(\DateTimeImmutable $updatedAt): self { $this->updatedAt = $updatedAt; return $this; } /** * @return Collection<int, EmailingClientListEmail> */ public function getEmailingClientListEmails(): Collection { return $this->emailingClientListEmails; } public function addEmailingClientListEmail(EmailingClientListEmail $emailingClientListEmail): self { if (!$this->emailingClientListEmails->contains($emailingClientListEmail)) { $this->emailingClientListEmails[] = $emailingClientListEmail; $emailingClientListEmail->setEmailingClientList($this); } return $this; } public function removeEmailingClientListEmail(EmailingClientListEmail $emailingClientListEmail): self { if ($this->emailingClientListEmails->removeElement($emailingClientListEmail)) { // set the owning side to null (unless already changed) if ($emailingClientListEmail->getEmailingClientList() === $this) { $emailingClientListEmail->setEmailingClientList(null); } } return $this; } public function setEmailingClientListEmails(Collection $emailingClientListEmails): self { $this->emailingClientListEmails = $emailingClientListEmails; return $this; } /** * @return Collection<int, EmailingClientCampaign> */ public function getCampaigns(): Collection { return $this->campaigns; } public function addCampaign(EmailingClientCampaign $campaign): self { if (!$this->campaigns->contains($campaign)) { $this->campaigns[] = $campaign; $campaign->addDiffusionList($this); } return $this; } public function removeCampaign(EmailingClientCampaign $campaign): self { if ($this->campaigns->removeElement($campaign)) { $campaign->removeDiffusionList($this); } return $this; }}