<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use App\Repository\EmailingRepository;
/**
* Emailing
*
*/
#[ORM\Table(name: 'emailing')]
#[ORM\Index(name: 'index_mail_cabinet', columns: ['mail', 'FK_cabinet'])]
#[ORM\Index(name: 'FK_cabinet', columns: ['FK_cabinet'])]
#[ORM\UniqueConstraint(name: 'mail', columns: ['mail', 'FK_cabinet'])]
#[ORM\Entity(repositoryClass: EmailingRepository::class)]
#[UniqueEntity(fields: ['mail'], message: 'Cet e-mail existe déjà')]
class Emailing
{
/**
* @var int
*
*/
#[ORM\Column(name: 'id', type: 'bigint', nullable: false)]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
private $id;
/**
* @var string
*
*/
#[ORM\Column(name: 'mail', type: 'string', nullable: false)]
private $mail;
/**
* @var bool
*
*/
#[ORM\Column(name: 'desabonnement', type: 'boolean', options: ['default' => false])]
private $desabonnement = false;
/**
* @var AccountingFirm
*
*/
#[ORM\JoinColumn(name: 'FK_cabinet', referencedColumnName: 'id', nullable: false)]
#[ORM\ManyToOne(targetEntity: 'AccountingFirm', inversedBy: 'emailings')]
private $accountingFirm;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $firstName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $lastName;
#[ORM\Column(type: 'boolean', nullable: true)]
private $firstSend;
public function __construct() {
$this->firstSend = false;
}
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @return string
*/
public function getMail(): ?string
{
return $this->mail;
}
/**
* @param string $mail
* @return Emailing
*/
public function setMail(?string $mail): Emailing
{
$this->mail = $mail;
return $this;
}
/**
* @return bool
*/
public function isDesabonnement(): bool
{
return $this->desabonnement;
}
/**
* @param bool $desabonnement
* @return Emailing
*/
public function setDesabonnement(bool $desabonnement): Emailing
{
$this->desabonnement = $desabonnement;
return $this;
}
/**
* @return AccountingFirm|null
*/
public function getAccountingFirm(): ?AccountingFirm
{
return $this->accountingFirm;
}
/**
* @param AccountingFirm $accountingFirm
* @return Emailing
*/
public function setAccountingFirm(?AccountingFirm $accountingFirm): Emailing
{
$this->accountingFirm = $accountingFirm;
return $this;
}
public function getFirstName(): ?string
{
return $this->firstName;
}
public function setFirstName(?string $firstName): self
{
$this->firstName = $firstName;
return $this;
}
public function getLastName(): ?string
{
return $this->lastName;
}
public function setLastName(?string $lastName): self
{
$this->lastName = $lastName;
return $this;
}
public function isFirstSend(): ?bool
{
return $this->firstSend;
}
public function setFirstSend(?bool $firstSend): self
{
$this->firstSend = $firstSend;
return $this;
}
}