<?php
namespace App\Entity;
use App\Repository\ClientProductRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ClientProductRepository::class)
*/
class ClientProduct
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Client::class, inversedBy="clientProducts")
* @ORM\JoinColumn(nullable=false)
*/
private $client;
/**
* @ORM\ManyToOne(targetEntity=Product::class, inversedBy="clientProducts")
* @ORM\JoinColumn(nullable=false)
*/
private $product;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $presentation;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $logo;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $title;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $startAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $endAt;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime")
*/
private $modifiedAt;
/**
* @ORM\OneToMany(targetEntity=FlashWorkshop::class, mappedBy="clientProduct")
*/
private $flashWorkshops;
/**
* @ORM\Column(type="boolean")
*/
private $isActive;
/**
* @ORM\OneToMany(targetEntity=UserProduct::class, mappedBy="clientProduct")
*/
private $userProducts;
/**
* @ORM\OneToMany(targetEntity=DefiSlide::class, mappedBy="clientProduct")
*/
private $defiSlides;
/**
* @ORM\OneToMany(targetEntity=DefiClientDocument::class, mappedBy="clientProduct")
*/
private $defiClientDocuments;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $endingPresentation;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $invitationEmailContent;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $canInvite;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $forcedDisabled;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasUserLadder;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasLocationLadder;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $prize;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $baseline;
private $interval;
private $firstSlide;
private $userHasUserProduct;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $description;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $text;
/**
* @ORM\OneToMany(targetEntity=DiagQuestion::class, mappedBy="clientProduct")
*/
private $diagQuestions;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasSubLocationLadder;
public function __construct()
{
$this->flashWorkshops = new ArrayCollection();
$this->userProducts = new ArrayCollection();
$this->defiSlides = new ArrayCollection();
$this->defiClientDocuments = new ArrayCollection();
$this->diagQuestions = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getClient(): ?Client
{
return $this->client;
}
public function setClient(?Client $client): self
{
$this->client = $client;
return $this;
}
public function getFirstSlide(): ?DefiSlide
{
return $this->firstSlide;
}
public function setFirstSlide(?DefiSlide $firstSlide): self
{
$this->firstSlide = $firstSlide;
return $this;
}
public function getProduct(): ?Product
{
return $this->product;
}
public function setProduct(?Product $product): self
{
$this->product = $product;
return $this;
}
public function getPresentation(): ?string
{
return $this->presentation;
}
public function setPresentation(?string $presentation): self
{
$this->presentation = $presentation;
return $this;
}
public function getInterval(): ?string
{
return $this->interval;
}
public function setInterval(string $interval): self
{
$this->interval = $interval;
return $this;
}
public function getLogo(): ?string
{
return $this->logo;
}
public function setLogo(string $logo): self
{
$this->logo = $logo;
return $this;
}
public function getTitle(): ?string
{
return $this->title;
}
public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}
public function getStartAt(): ?\DateTimeInterface
{
return $this->startAt;
}
public function setStartAt(\DateTimeInterface $startAt): self
{
$this->startAt = $startAt;
return $this;
}
public function getEndAt(): ?\DateTimeInterface
{
return $this->endAt;
}
public function setEndAt(\DateTimeInterface $endAt): self
{
$this->endAt = $endAt;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getModifiedAt(): ?\DateTimeInterface
{
return $this->modifiedAt;
}
public function setModifiedAt(\DateTimeInterface $modifiedAt): self
{
$this->modifiedAt = $modifiedAt;
return $this;
}
/**
* @return Collection<int, FlashWorkshop>
*/
public function getFlashWorkshops(): Collection
{
return $this->flashWorkshops;
}
public function addFlashWorkshop(FlashWorkshop $flashWorkshop): self
{
if (!$this->flashWorkshops->contains($flashWorkshop)) {
$this->flashWorkshops[] = $flashWorkshop;
$flashWorkshop->setClientProduct($this);
}
return $this;
}
public function removeFlashWorkshop(FlashWorkshop $flashWorkshop): self
{
if ($this->flashWorkshops->removeElement($flashWorkshop)) {
// set the owning side to null (unless already changed)
if ($flashWorkshop->getClientProduct() === $this) {
$flashWorkshop->setClientProduct(null);
}
}
return $this;
}
public function isIsActive(): ?bool
{
return $this->isActive;
}
public function setIsActive(bool $isActive): self
{
$this->isActive = $isActive;
return $this;
}
public function getUserHasUserProduct(): ?bool
{
return $this->userHasUserProduct;
}
public function setUserHasUserProduct(bool $userHasUserProduct): self
{
$this->userHasUserProduct = $userHasUserProduct;
return $this;
}
/**
* @return Collection<int, UserProduct>
*/
public function getUserProducts(): Collection
{
return $this->userProducts;
}
public function addUserProduct(UserProduct $userProduct): self
{
if (!$this->userProducts->contains($userProduct)) {
$this->userProducts[] = $userProduct;
$userProduct->setClientProduct($this);
}
return $this;
}
public function removeUserProduct(UserProduct $userProduct): self
{
if ($this->userProducts->removeElement($userProduct)) {
// set the owning side to null (unless already changed)
if ($userProduct->getClientProduct() === $this) {
$userProduct->setClientProduct(null);
}
}
return $this;
}
/**
* @return Collection<int, DefiSlide>
*/
public function getDefiSlides(): Collection
{
return $this->defiSlides;
}
public function addDefiSlide(DefiSlide $defiSlide): self
{
if (!$this->defiSlides->contains($defiSlide)) {
$this->defiSlides[] = $defiSlide;
$defiSlide->setClientProduct($this);
}
return $this;
}
public function removeDefiSlide(DefiSlide $defiSlide): self
{
if ($this->defiSlides->removeElement($defiSlide)) {
// set the owning side to null (unless already changed)
if ($defiSlide->getClientProduct() === $this) {
$defiSlide->setClientProduct(null);
}
}
return $this;
}
/**
* @return Collection<int, DefiClientDocument>
*/
public function getDefiClientDocuments(): Collection
{
return $this->defiClientDocuments;
}
public function addDefiClientDocument(DefiClientDocument $defiClientDocument): self
{
if (!$this->defiClientDocuments->contains($defiClientDocument)) {
$this->defiClientDocuments[] = $defiClientDocument;
$defiClientDocument->setClientProduct($this);
}
return $this;
}
public function removeDefiClientDocument(DefiClientDocument $defiClientDocument): self
{
if ($this->defiClientDocuments->removeElement($defiClientDocument)) {
// set the owning side to null (unless already changed)
if ($defiClientDocument->getClientProduct() === $this) {
$defiClientDocument->setClientProduct(null);
}
}
return $this;
}
public function getEndingPresentation(): ?string
{
return $this->endingPresentation;
}
public function setEndingPresentation(?string $endingPresentation): self
{
$this->endingPresentation = $endingPresentation;
return $this;
}
public function getInvitationEmailContent(): ?string
{
return $this->invitationEmailContent;
}
public function setInvitationEmailContent(?string $invitationEmailContent): self
{
$this->invitationEmailContent = $invitationEmailContent;
return $this;
}
public function isCanInvite(): ?bool
{
return $this->canInvite;
}
public function setCanInvite(bool $canInvite): self
{
$this->canInvite = $canInvite;
return $this;
}
public function isForcedDisabled(): ?bool
{
return $this->forcedDisabled;
}
public function setForcedDisabled(bool $forcedDisabled): self
{
$this->forcedDisabled = $forcedDisabled;
return $this;
}
public function isHasUserLadder(): ?bool
{
return $this->hasUserLadder;
}
public function setHasUserLadder(bool $hasUserLadder): self
{
$this->hasUserLadder = $hasUserLadder;
return $this;
}
public function isHasLocationLadder(): ?bool
{
return $this->hasLocationLadder;
}
public function setHasLocationLadder(bool $hasLocationLadder): self
{
$this->hasLocationLadder = $hasLocationLadder;
return $this;
}
public function getPrize(): ?string
{
return $this->prize;
}
public function setPrize(?string $prize): self
{
$this->prize = $prize;
return $this;
}
public function getBaseline(): ?string
{
return $this->baseline;
}
public function setBaseline(?string $baseline): self
{
$this->baseline = $baseline;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getText(): ?string
{
return $this->text;
}
public function setText(?string $text): self
{
$this->text = $text;
return $this;
}
/**
* @return Collection<int, DiagQuestion>
*/
public function getDiagQuestions(): Collection
{
return $this->diagQuestions;
}
public function addDiagQuestion(DiagQuestion $diagQuestion): self
{
if (!$this->diagQuestions->contains($diagQuestion)) {
$this->diagQuestions[] = $diagQuestion;
$diagQuestion->setClientProduct($this);
}
return $this;
}
public function removeDiagQuestion(DiagQuestion $diagQuestion): self
{
if ($this->diagQuestions->removeElement($diagQuestion)) {
// set the owning side to null (unless already changed)
if ($diagQuestion->getClientProduct() === $this) {
$diagQuestion->setClientProduct(null);
}
}
return $this;
}
public function isHasSubLocationLadder(): ?bool
{
return $this->hasSubLocationLadder;
}
public function setHasSubLocationLadder(?bool $hasSubLocationLadder): self
{
$this->hasSubLocationLadder = $hasSubLocationLadder;
return $this;
}
}