<?php
namespace App\Entity;
use App\Repository\ClientRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity(repositoryClass=ClientRepository::class)
*/
class Client
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="string", length=255)
*/
private $logo;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $rgpdFile;
/**
* @ORM\Column(type="text")
*/
private $description;
/**
* @ORM\Column(type="string", length=255)
*/
private $baseline;
/**
* @ORM\Column(type="string", length=255)
*/
private $background;
/**
* @ORM\Column(type="string", length=255)
* @ORM\JoinColumn(nullable=false)
*/
private $altLogo;
/**
* @ORM\Column(type="boolean")
*/
private $isActive;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime")
*/
private $modifiedAt;
/**
* @ORM\Column(type="string", length=255, unique=true)
* @Gedmo\Slug(fields={"name"})
*/
private $slug;
/**
* @ORM\OneToMany(targetEntity=ClientProduct::class, mappedBy="client")
*/
private $clientProducts;
/**
* @ORM\OneToMany(targetEntity=Location::class, mappedBy="client")
*/
private $locations;
/**
* @ORM\OneToMany(targetEntity=SubLocation::class, mappedBy="client")
*/
private $subLocations;
/**
* @ORM\OneToMany(targetEntity=Domain::class, mappedBy="client")
*/
private $domains;
/**
* @ORM\Column(type="string", length=255)
*/
private $salt;
/**
* @ORM\OneToMany(targetEntity=User::class, mappedBy="client")
*/
private $users;
/**
* @ORM\OneToMany(targetEntity=Job::class, mappedBy="client")
*/
private $jobs;
/**
* @ORM\OneToMany(targetEntity=Contact::class, mappedBy="client")
*/
private $contacts;
/**
* @ORM\Column(type="string", length=255)
*/
private $mainColor;
/**
* @ORM\Column(type="string", length=255)
*/
private $secondaryColor;
/**
* @ORM\Column(type="boolean")
*/
private $isSecure;
/**
* @ORM\Column(type="boolean")
*/
private $isHiddenJobTitle;
/**
* @ORM\Column(type="boolean")
*/
private $isHiddenUserJob;
/**
* @ORM\Column(type="string", length=255)
*/
private $labelLocation;
/**
* @ORM\Column(type="string", length=255)
*/
private $labelSubLocation;
/**
* @ORM\Column(type="boolean")
*/
private $hasMicrosoft;
/**
* @ORM\Column(type="boolean")
*/
private $hasZoom;
public function __construct()
{
$this->clientProducts = new ArrayCollection();
$this->locations = new ArrayCollection();
$this->subLocations = new ArrayCollection();
$this->domains = new ArrayCollection();
$this->users = new ArrayCollection();
$this->jobs = new ArrayCollection();
$this->contacts = new ArrayCollection();
}
public function getSlug(): ?string
{
return $this->slug;
}
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getLogo(): ?string
{
return $this->logo;
}
public function setLogo(string $logo): self
{
$this->logo = $logo;
return $this;
}
public function getRgpdFile(): ?string
{
return $this->rgpdFile;
}
public function setRgpdFile(string $rgpdFile): self
{
$this->rgpdFile = $rgpdFile;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getBaseline(): ?string
{
return $this->baseline;
}
public function setBaseline(string $baseline): self
{
$this->baseline = $baseline;
return $this;
}
public function getBackground(): ?string
{
return $this->background;
}
public function setBackground(string $background): self
{
$this->background = $background;
return $this;
}
public function getAltLogo(): ?string
{
return $this->altLogo;
}
public function setAltLogo(string $altLogo): self
{
$this->altLogo = $altLogo;
return $this;
}
public function isIsActive(): ?bool
{
return $this->isActive;
}
public function setIsActive(bool $isActive): self
{
$this->isActive = $isActive;
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, ClientProduct>
*/
public function getClientProducts(): Collection
{
return $this->clientProducts;
}
public function addClientProduct(ClientProduct $clientProduct): self
{
if (!$this->clientProducts->contains($clientProduct)) {
$this->clientProducts[] = $clientProduct;
$clientProduct->setClient($this);
}
return $this;
}
public function removeClientProduct(ClientProduct $clientProduct): self
{
if ($this->clientProducts->removeElement($clientProduct)) {
// set the owning side to null (unless already changed)
if ($clientProduct->getClient() === $this) {
$clientProduct->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, Location>
*/
public function getLocations(): Collection
{
return $this->locations;
}
public function addLocation(Location $location): self
{
if (!$this->locations->contains($location)) {
$this->locations[] = $location;
$location->setClient($this);
}
return $this;
}
public function removeLocation(Location $location): self
{
if ($this->locations->removeElement($location)) {
// set the owning side to null (unless already changed)
if ($location->getClient() === $this) {
$location->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, SubLocation>
*/
public function getSubLocations(): Collection
{
return $this->subLocations;
}
public function addSubLocation(SubLocation $subLocation): self
{
if (!$this->subLocations->contains($subLocation)) {
$this->subLocations[] = $subLocation;
$subLocation->setClient($this);
}
return $this;
}
public function removeSubLocation(SubLocation $subLocation): self
{
if ($this->subLocations->removeElement($subLocation)) {
// set the owning side to null (unless already changed)
if ($subLocation->getClient() === $this) {
$subLocation->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, Domain>
*/
public function getDomains(): Collection
{
return $this->domains;
}
public function addDomain(Domain $domain): self
{
if (!$this->domains->contains($domain)) {
$this->domains[] = $domain;
$domain->setClient($this);
}
return $this;
}
public function removeDomain(Domain $domain): self
{
if ($this->domains->removeElement($domain)) {
// set the owning side to null (unless already changed)
if ($domain->getClient() === $this) {
$domain->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, Domain>
*/
public function getDomain(): Collection
{
return $this->domain;
}
public function getSalt(): ?string
{
return $this->salt;
}
public function setSalt(string $salt): self
{
$this->salt = $salt;
return $this;
}
/**
* @return Collection<int, User>
*/
public function getUsers(): Collection
{
return $this->users;
}
public function addUser(User $user): self
{
if (!$this->users->contains($user)) {
$this->users[] = $user;
$user->setClient($this);
}
return $this;
}
public function removeUser(User $user): self
{
if ($this->users->removeElement($user)) {
// set the owning side to null (unless already changed)
if ($user->getClient() === $this) {
$user->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, Job>
*/
public function getJobs(): Collection
{
return $this->jobs;
}
public function addJob(Job $job): self
{
if (!$this->jobs->contains($job)) {
$this->jobs[] = $job;
$job->setClient($this);
}
return $this;
}
public function removeJob(Job $job): self
{
if ($this->jobs->removeElement($job)) {
// set the owning side to null (unless already changed)
if ($job->getClient() === $this) {
$job->setClient(null);
}
}
return $this;
}
/**
* @return Collection<int, Contact>
*/
public function getContacts(): Collection
{
return $this->contacts;
}
public function addContact(Contact $contact): self
{
if (!$this->contacts->contains($contact)) {
$this->contacts[] = $contact;
$contact->setClient($this);
}
return $this;
}
public function removeContact(Contact $contact): self
{
if ($this->contacts->removeElement($contact)) {
// set the owning side to null (unless already changed)
if ($contact->getClient() === $this) {
$contact->setClient(null);
}
}
return $this;
}
public function getMainColor(): ?string
{
return $this->mainColor;
}
public function setMainColor(string $mainColor): self
{
$this->mainColor = $mainColor;
return $this;
}
public function getSecondaryColor(): ?string
{
return $this->secondaryColor;
}
public function setSecondaryColor(string $secondaryColor): self
{
$this->secondaryColor = $secondaryColor;
return $this;
}
public function isIsSecure(): ?bool
{
return $this->isSecure;
}
public function setIsSecure(bool $isSecure): self
{
$this->isSecure = $isSecure;
return $this;
}
public function isIsHiddenJobTitle(): ?bool
{
return $this->isHiddenJobTitle;
}
public function setIsHiddenJobTitle(bool $isHiddenJobTitle): self
{
$this->isHiddenJobTitle = $isHiddenJobTitle;
return $this;
}
public function isIsHiddenUserJob(): ?bool
{
return $this->isHiddenUserJob;
}
public function setIsHiddenUserJob(bool $isHiddenUserJob): self
{
$this->isHiddenUserJob = $isHiddenUserJob;
return $this;
}
public function getLabelLocation(): ?string
{
return $this->labelLocation;
}
public function setLabelLocation(string $labelLocation): self
{
$this->labelLocation = $labelLocation;
return $this;
}
public function getLabelSubLocation(): ?string
{
return $this->labelSubLocation;
}
public function setLabelSubLocation(string $labelSubLocation): self
{
$this->labelSubLocation = $labelSubLocation;
return $this;
}
public function isHasMicrosoft(): ?bool
{
return $this->hasMicrosoft;
}
public function setHasMicrosoft(bool $hasMicrosoft): self
{
$this->hasMicrosoft = $hasMicrosoft;
return $this;
}
public function isHasZoom(): ?bool
{
return $this->hasZoom;
}
public function setHasZoom(bool $hasZoom): self
{
$this->hasZoom = $hasZoom;
return $this;
}
}