<?php
namespace App\Entity;
use App\Repository\PipelineIdentiteVisuelleRepository;
use DateTime;
use DateTimeImmutable;
use DateTimeInterface;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @Vich\Uploadable()
*/
#[ORM\Entity(repositoryClass: PipelineIdentiteVisuelleRepository::class)]
class PipelineIdentiteVisuelle
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255)]
private $category;
#[ORM\Column(type: 'string', length: 255)]
private $status;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $address;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $postalCode;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $city;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $phone;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $email;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $website;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $role;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $firstname;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name;
#[ORM\Column(type: 'boolean', nullable: true)]
private $photoDesired;
#[ORM\Column(type: 'boolean', nullable: true)]
private $qrcodeWebsiteDesired;
#[ORM\Column(type: 'text', nullable: true)]
private $otherInformations;
#[ORM\Column(type: 'datetime_immutable')]
private $createdAt;
#[ORM\Column(type: 'datetime_immutable')]
private $updatedAt;
#[ORM\Column(type: 'boolean')]
private $logoCreatedByAgence;
#[ORM\Column(type: 'string', nullable: true)]
private $logoName;
#[ORM\Column(type: 'integer', nullable: true)]
private $logoSize;
#[ORM\Column(type: 'datetime', nullable: true)]
private $logoUpdatedAt;
/**
* @Vich\UploadableField(mapping="identite_visuelle_pipeline", fileNameProperty="logoName", size="logoSize")
*/
private $logoFile;
#[ORM\ManyToOne(targetEntity: AccountingFirm::class, inversedBy: 'pipelineIdentiteVisuelles')]
private $accountingFirm;
#[ORM\OneToMany(mappedBy: 'pipelineIdentiteVisuelle', targetEntity: PipelineIdentiteVisuelleVisitCardPhoto::class, cascade: ['persist', 'remove'])]
private $visitCardPhotos;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $trelloCardId;
#[ORM\OneToMany(mappedBy: 'pipelineIdentiteVisuelle', targetEntity: PipelineIdentiteVisuelleProposal::class, cascade: ['persist', 'remove'])]
private $proposals;
#[ORM\Column(type: 'integer', nullable: true)]
private $stepProposal;
#[ORM\OneToMany(mappedBy: 'pipelineIdentiteVisuelle', targetEntity: PipelineIdentiteVisuelleProposalReturn::class, cascade: ['persist', 'remove'])]
private $proposalReturns;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printAccountingFirmName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printPostalCode;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printCity;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printPhone;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $printAddress;
#[ORM\Column(type: 'datetime', nullable: true)]
private $printShippingMinDate;
#[ORM\Column(type: 'datetime', nullable: true)]
private $printShippingMaxDate;
#[ORM\Column(type: 'boolean', nullable: true)]
private $visitCardMailConfirmReceptionSend;
#[ORM\OneToMany(mappedBy: 'pipelineIdentiteVisuelle', targetEntity: PipelineIdentiteVisuelleVisitCardDeclination::class, cascade: ['persist', 'remove'])]
private $visitCardDeclinations;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $siren;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $ape;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $capital;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $numberTva;
#[ORM\Column(type: 'string', nullable: true)]
private $declinationName;
#[ORM\Column(type: 'integer', nullable: true)]
private $declinationSize;
#[ORM\Column(type: 'datetime', nullable: true)]
private $declinationUpdatedAt;
/**
* @Vich\UploadableField(mapping="identite_visuelle_pipeline", fileNameProperty="declinationName", size="declinationSize")
*/
private $declinationFile;
#[ORM\Column(type: 'integer', nullable: true)]
private $relaunch_count;
#[ORM\Column(type: 'boolean', nullable: true)]
private $vcard;
#[ORM\Column(type: 'integer', nullable: true)]
private $numberVisitCard;
#[ORM\Column(type: 'integer', nullable: true)]
private $numberVisitCardDeclination;
#[ORM\Column(type: 'text', nullable: true)]
private ?string $correctionMessage = null;
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
private ?\DateTimeImmutable $correctionRequestedAt = null;
public function __construct()
{
$this->visitCardPhotos = new ArrayCollection();
$this->proposals = new ArrayCollection();
$this->proposalReturns = new ArrayCollection();
$this->visitCardDeclinations = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getCategory(): ?string
{
return $this->category;
}
public function setCategory(string $category): self
{
$this->category = $category;
return $this;
}
public function getStatus(): ?string
{
return $this->status;
}
public function setStatus(string $status): self
{
$this->status = $status;
return $this;
}
public function getAddress(): ?string
{
return $this->address;
}
public function setAddress(?string $address): self
{
$this->address = $address;
return $this;
}
public function getPostalCode(): ?string
{
return $this->postalCode;
}
public function setPostalCode(?string $postalCode): self
{
$this->postalCode = $postalCode;
return $this;
}
public function getCity(): ?string
{
return $this->city;
}
public function setCity(?string $city): self
{
$this->city = $city;
return $this;
}
public function getPhone(): ?string
{
return $this->phone;
}
public function setPhone(?string $phone): self
{
$this->phone = $phone;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getWebsite(): ?string
{
return $this->website;
}
public function setWebsite(?string $website): self
{
$this->website = $website;
return $this;
}
public function getRole(): ?string
{
return $this->role;
}
public function setRole(?string $role): self
{
$this->role = $role;
return $this;
}
public function getFirstname(): ?string
{
return $this->firstname;
}
public function setFirstname(?string $firstname): self
{
$this->firstname = $firstname;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function isPhotoDesired(): ?bool
{
return $this->photoDesired;
}
public function setPhotoDesired(?bool $photoDesired): self
{
$this->photoDesired = $photoDesired;
return $this;
}
public function isQrcodeWebsiteDesired(): ?bool
{
return $this->qrcodeWebsiteDesired;
}
public function setQrcodeWebsiteDesired(?bool $qrcodeWebsiteDesired): self
{
$this->qrcodeWebsiteDesired = $qrcodeWebsiteDesired;
return $this;
}
public function getOtherInformations(): ?string
{
return $this->otherInformations;
}
public function setOtherInformations(?string $otherInformations): self
{
$this->otherInformations = $otherInformations;
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;
}
public function isLogoCreatedByAgence(): ?bool
{
return $this->logoCreatedByAgence;
}
public function setLogoCreatedByAgence(bool $logoCreatedByAgence): self
{
$this->logoCreatedByAgence = $logoCreatedByAgence;
return $this;
}
public function getLogoName(): ?string
{
return $this->logoName;
}
public function setLogoName(?string $logoName): self
{
$this->logoName = $logoName;
return $this;
}
public function getLogoSize(): ?int
{
return $this->logoSize;
}
public function setLogoSize(?int $logoSize): self
{
$this->logoSize = $logoSize;
return $this;
}
public function getLogoUpdatedAt(): ?DateTimeInterface
{
return $this->logoUpdatedAt;
}
public function setLogoUpdatedAt(?DateTimeInterface $logoUpdatedAt): self
{
$this->logoUpdatedAt = $logoUpdatedAt;
return $this;
}
public function getLogoFile(): ?File
{
return $this->logoFile;
}
public function setLogoFile(?File $logoFile): self
{
$this->logoFile = $logoFile;
if (null !== $this->logoFile) {
$this->logoUpdatedAt = new DateTimeImmutable();
}
return $this;
}
public function getAccountingFirm(): ?AccountingFirm
{
return $this->accountingFirm;
}
public function setAccountingFirm(?AccountingFirm $accountingFirm): self
{
$this->accountingFirm = $accountingFirm;
return $this;
}
/**
* @return Collection<int, PipelineIdentiteVisuelleVisitCardPhoto>
*/
public function getVisitCardPhotos(): Collection
{
return $this->visitCardPhotos;
}
public function addVisitCardPhoto(PipelineIdentiteVisuelleVisitCardPhoto $visitCardPhoto): self
{
if (!$this->visitCardPhotos->contains($visitCardPhoto)) {
$this->visitCardPhotos[] = $visitCardPhoto;
$visitCardPhoto->setPipelineIdentiteVisuelle($this);
}
return $this;
}
public function removeVisitCardPhoto(PipelineIdentiteVisuelleVisitCardPhoto $visitCardPhoto): self
{
if ($this->visitCardPhotos->removeElement($visitCardPhoto)) {
// set the owning side to null (unless already changed)
if ($visitCardPhoto->getPipelineIdentiteVisuelle() === $this) {
$visitCardPhoto->setPipelineIdentiteVisuelle(null);
}
}
return $this;
}
public function getTrelloCardId(): ?string
{
return $this->trelloCardId;
}
public function setTrelloCardId(?string $trelloCardId): self
{
$this->trelloCardId = $trelloCardId;
return $this;
}
/**
* @return Collection<int, PipelineIdentiteVisuelleProposal>
*/
public function getProposals(): Collection
{
return $this->proposals;
}
public function addProposal(PipelineIdentiteVisuelleProposal $proposal): self
{
if (!$this->proposals->contains($proposal)) {
$this->proposals[] = $proposal;
$proposal->setPipelineIdentiteVisuelle($this);
}
return $this;
}
public function removeProposal(PipelineIdentiteVisuelleProposal $proposal): self
{
if ($this->proposals->removeElement($proposal)) {
// set the owning side to null (unless already changed)
if ($proposal->getPipelineIdentiteVisuelle() === $this) {
$proposal->setPipelineIdentiteVisuelle(null);
}
}
return $this;
}
public function getStepProposal(): ?int
{
return $this->stepProposal;
}
public function setStepProposal(?int $stepProposal): self
{
$this->stepProposal = $stepProposal;
return $this;
}
/**
* @return Collection<int, PipelineIdentiteVisuelleProposalReturn>
*/
public function getProposalReturns(): Collection
{
return $this->proposalReturns;
}
public function addProposalReturn(PipelineIdentiteVisuelleProposalReturn $proposalReturn): self
{
if (!$this->proposalReturns->contains($proposalReturn)) {
$this->proposalReturns[] = $proposalReturn;
$proposalReturn->setPipelineIdentiteVisuelle($this);
}
return $this;
}
public function removeProposalReturn(PipelineIdentiteVisuelleProposalReturn $proposalReturn): self
{
if ($this->proposalReturns->removeElement($proposalReturn)) {
// set the owning side to null (unless already changed)
if ($proposalReturn->getPipelineIdentiteVisuelle() === $this) {
$proposalReturn->setPipelineIdentiteVisuelle(null);
}
}
return $this;
}
public function getPrintAccountingFirmName(): ?string
{
return $this->printAccountingFirmName;
}
public function setPrintAccountingFirmName(?string $printAccountingFirmName): self
{
$this->printAccountingFirmName = $printAccountingFirmName;
return $this;
}
public function getPrintName(): ?string
{
return $this->printName;
}
public function setPrintName(?string $printName): self
{
$this->printName = $printName;
return $this;
}
public function getPrintPostalCode(): ?string
{
return $this->printPostalCode;
}
public function setPrintPostalCode(?string $printPostalCode): self
{
$this->printPostalCode = $printPostalCode;
return $this;
}
public function getPrintCity(): ?string
{
return $this->printCity;
}
public function setPrintCity(?string $printCity): self
{
$this->printCity = $printCity;
return $this;
}
public function getPrintPhone(): ?string
{
return $this->printPhone;
}
public function setPrintPhone(?string $printPhone): self
{
$this->printPhone = $printPhone;
return $this;
}
public function getPrintAddress(): ?string
{
return $this->printAddress;
}
public function setPrintAddress(?string $printAddress): self
{
$this->printAddress = $printAddress;
return $this;
}
public function getPrintShippingMinDate(): ?DateTime
{
return $this->printShippingMinDate;
}
public function setPrintShippingMinDate(?DateTime $printShippingMinDate): self
{
$this->printShippingMinDate = $printShippingMinDate;
return $this;
}
public function getPrintShippingMaxDate(): ?DateTime
{
return $this->printShippingMaxDate;
}
public function setPrintShippingMaxDate(?DateTime $printShippingMaxDate): self
{
$this->printShippingMaxDate = $printShippingMaxDate;
return $this;
}
public function isVisitCardMailConfirmReceptionSend(): ?bool
{
return $this->visitCardMailConfirmReceptionSend;
}
public function setVisitCardMailConfirmReceptionSend(?bool $visitCardMailConfirmReceptionSend): self
{
$this->visitCardMailConfirmReceptionSend = $visitCardMailConfirmReceptionSend;
return $this;
}
/**
* @return Collection<int, PipelineIdentiteVisuelleVisitCardDeclination>
*/
public function getVisitCardDeclinations(): Collection
{
return $this->visitCardDeclinations;
}
public function addVisitCardDeclination(PipelineIdentiteVisuelleVisitCardDeclination $visitCardDeclination): self
{
if (!$this->visitCardDeclinations->contains($visitCardDeclination)) {
$this->visitCardDeclinations[] = $visitCardDeclination;
$visitCardDeclination->setPipelineIdentiteVisuelle($this);
}
return $this;
}
public function removeVisitCardDeclination(PipelineIdentiteVisuelleVisitCardDeclination $visitCardDeclination): self
{
if ($this->visitCardDeclinations->removeElement($visitCardDeclination)) {
// set the owning side to null (unless already changed)
if ($visitCardDeclination->getPipelineIdentiteVisuelle() === $this) {
$visitCardDeclination->setPipelineIdentiteVisuelle(null);
}
}
return $this;
}
public function getSiren(): ?string
{
return $this->siren;
}
public function setSiren(?string $siren): self
{
$this->siren = $siren;
return $this;
}
public function getApe(): ?string
{
return $this->ape;
}
public function setApe(?string $ape): self
{
$this->ape = $ape;
return $this;
}
public function getCapital(): ?string
{
return $this->capital;
}
public function setCapital(?string $capital): self
{
$this->capital = $capital;
return $this;
}
public function getNumberTva(): ?string
{
return $this->numberTva;
}
public function setNumberTva(?string $numberTva): self
{
$this->numberTva = $numberTva;
return $this;
}
public function getDeclinationName(): ?string
{
return $this->declinationName;
}
public function setDeclinationName(?string $declinationName): self
{
$this->declinationName = $declinationName;
return $this;
}
public function getDeclinationSize(): ?int
{
return $this->declinationSize;
}
public function setDeclinationSize(?int $declinationSize): self
{
$this->declinationSize = $declinationSize;
return $this;
}
public function getDeclinationUpdatedAt(): ?DateTimeInterface
{
return $this->declinationUpdatedAt;
}
public function setDeclinationUpdatedAt(?DateTimeInterface $declinationUpdatedAt): self
{
$this->declinationUpdatedAt = $declinationUpdatedAt;
return $this;
}
public function getDeclinationFile(): ?File
{
return $this->declinationFile;
}
public function setDeclinationFile(?File $declinationFile): self
{
$this->declinationFile = $declinationFile;
if (null !== $this->declinationFile) {
$this->declinationUpdatedAt = new DateTimeImmutable();
}
return $this;
}
public function getRelaunchCount(): ?int
{
return $this->relaunch_count;
}
public function setRelaunchCount(?int $relaunch_count): self
{
$this->relaunch_count = $relaunch_count;
return $this;
}
public function isVcard(): ?bool
{
return $this->vcard;
}
public function setVcard(?bool $vcard): self
{
$this->vcard = $vcard;
return $this;
}
public function getNumberVisitCard(): ?int
{
return $this->numberVisitCard;
}
public function setNumberVisitCard(?int $numberVisitCard): self
{
$this->numberVisitCard = $numberVisitCard;
return $this;
}
public function getNumberVisitCardDeclination(): ?int
{
return $this->numberVisitCardDeclination;
}
public function setNumberVisitCardDeclination(?int $numberVisitCardDeclination): self
{
$this->numberVisitCardDeclination = $numberVisitCardDeclination;
return $this;
}
public function getCorrectionMessage(): ?string
{
return $this->correctionMessage;
}
public function setCorrectionMessage(?string $correctionMessage): self
{
$this->correctionMessage = $correctionMessage;
return $this;
}
public function getCorrectionRequestedAt(): ?\DateTimeImmutable
{
return $this->correctionRequestedAt;
}
public function setCorrectionRequestedAt(?\DateTimeImmutable $date): self
{
$this->correctionRequestedAt = $date;
return $this;
}
}