<?php
namespace App\Entity\Offer;
use App\Entity\File;
use App\Entity\InvoiceData;
use App\Entity\Traits\IdTrait;
use App\Entity\Traits\TimeStampAbleTrait;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=OfferCompanyRepository::class)
* @ORM\HasLifecycleCallbacks
*/
class OfferCompany
{
use IdTrait;
use TimeStampAbleTrait;
/**
* @ORM\Column (type="string", length=255, nullable=true)
*/
private ?string $phoneNumber;
/**
* @ORM\Column (type="string", length=255, nullable=true)
*/
private ?string $websiteUrl;
/**
* @ORM\Column (type="string", length=255, nullable=true)
*/
private ?string $numberOfEmployers;
/**
* @ORM\Column (type="text", nullable=true)
*/
private ?string $description;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private ?bool $isExtraInvoiceData;
/**
* @ORM\ManyToOne (targetEntity=InvoiceData::class)
*/
private ?InvoiceData $invoiceData;
/**
* @ORM\ManyToOne (targetEntity=InvoiceData::class)
*/
private ?InvoiceData $extraInvoiceData;
/**
* @ORM\ManyToOne (targetEntity=File::class)
*/
private ?File $logo = null;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isExternalApplications;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $sourceForTheExternalApplication;
public function __clone()
{
$this->id = null;
$this->invoiceData = null;
$this->extraInvoiceData = null;
$this->logo = null;
}
public function cloneObject(?InvoiceData $invoiceData, ?InvoiceData $extraInvoiceData, ?File $logo): self
{
$clone = clone $this;
$clone->invoiceData = $invoiceData;
$clone->extraInvoiceData = $extraInvoiceData;
$clone->logo = $logo;
return $clone;
}
/**
* @return string|null
*/
public function getPhoneNumber(): ?string
{
return $this->phoneNumber;
}
/**
* @param string|null $phoneNumber
*/
public function setPhoneNumber(?string $phoneNumber): self
{
$this->phoneNumber = $phoneNumber;
return $this;
}
/**
* @return string|null
*/
public function getWebsiteUrl(): ?string
{
return $this->websiteUrl;
}
/**
* @param string|null $websiteUrl
*/
public function setWebsiteUrl(?string $websiteUrl): self
{
$this->websiteUrl = $websiteUrl;
return $this;
}
/**
* @return string|null
*/
public function getNumberOfEmployers(): ?string
{
return $this->numberOfEmployers;
}
/**
* @param string|null $numberOfEmployers
*/
public function setNumberOfEmployers(?string $numberOfEmployers): self
{
$this->numberOfEmployers = $numberOfEmployers;
return $this;
}
/**
* @return string|null
*/
public function getDescription(): ?string
{
return $this->description;
}
/**
* @param string|null $description
*/
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
/**
* @return bool|null
*/
public function getIsExtraInvoiceData(): ?bool
{
return $this->isExtraInvoiceData;
}
/**
* @param bool|null $isExtraInvoiceData
*/
public function setIsExtraInvoiceData(?bool $isExtraInvoiceData): self
{
$this->isExtraInvoiceData = $isExtraInvoiceData;
return $this;
}
/**
* @return InvoiceData|null
*/
public function getInvoiceData(): ?InvoiceData
{
return $this->invoiceData;
}
/**
* @param InvoiceData|null $invoiceData
*/
public function setInvoiceData(?InvoiceData $invoiceData): self
{
$this->invoiceData = $invoiceData;
return $this;
}
/**
* @return InvoiceData|null
*/
public function getExtraInvoiceData(): ?InvoiceData
{
return $this->extraInvoiceData;
}
/**
* @param InvoiceData|null $extraInvoiceData
*/
public function setExtraInvoiceData(?InvoiceData $extraInvoiceData): self
{
$this->extraInvoiceData = $extraInvoiceData;
return $this;
}
/**
* @return File|null
*/
public function getLogo(): ?File
{
return $this->logo;
}
/**
* @param File|null $logo
*/
public function setLogo(?File $logo): self
{
$this->logo = $logo;
return $this;
}
public function getIsExternalApplications(): ?bool
{
return $this->isExternalApplications;
}
public function setIsExternalApplications(?bool $isExternalApplications): self
{
$this->isExternalApplications = $isExternalApplications;
return $this;
}
public function getSourceForTheExternalApplication(): ?string
{
return $this->sourceForTheExternalApplication;
}
public function setSourceForTheExternalApplication(?string $sourceForTheExternalApplication): self
{
$this->sourceForTheExternalApplication = $sourceForTheExternalApplication;
return $this;
}
}