<?phpnamespace App\Entity;use App\Enum\Invoice\Status;use App\Repository\InvoiceRepository;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=InvoiceRepository::class) */class Invoice{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="enum", options={"values"="invoice_enum", "default"="new"}) */ private $status = Status::STATUS_NEW; /** * @ORM\Column(type="integer") */ private $amount; /** * @ORM\ManyToOne(targetEntity=Candidate::class) * @ORM\JoinColumn(nullable=false) */ private $candidate; /** * @ORM\ManyToOne(targetEntity=FinanceCategory::class) * @ORM\JoinColumn(nullable=true) */ private $financeCategory; /** * @ORM\ManyToOne(targetEntity=Person::class) * @ORM\JoinColumn(nullable=true) */ private $person; public function __construct() { $this->createdAt = new \DateTime(); } public function getId(): ?int { return $this->id; } public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } public function setCreatedAt(\DateTimeInterface $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getStatus() { return $this->status; } public function setStatus($status): self { $this->status = $status; return $this; } public function getStatusText(): string { return Status::getText($this->status); } public function getStatusCssClass($prefix = null): string { return Status::getCssClass($this->status, $prefix); } public function getAmount(): ?int { return $this->amount; } public function setAmount(int $amount): self { $this->amount = $amount; return $this; } public function getCandidate(): ?Candidate { return $this->candidate; } public function setCandidate(?Candidate $candidate): self { $this->candidate = $candidate; return $this; } public function getFinanceCategory(): ?FinanceCategory { return $this->financeCategory; } public function setFinanceCategory(?FinanceCategory $financeCategory): self { $this->financeCategory = $financeCategory; return $this; } public function getPerson(): ?Person { return $this->person; } public function setPerson(?Person $person): self { $this->person = $person; return $this; }}