<?php
namespace App\Entity;
use App\Repository\OfficeLeaveRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: OfficeLeaveRepository::class)]
class OfficeLeave
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $AnnualDays;
#[ORM\Column(type: 'boolean', nullable: true)]
private $isIncremental;
#[ORM\Column(type: 'integer', nullable: true)]
private $IncrementalStart;
#[ORM\Column(type: 'integer', nullable: true)]
private $incrementalValue;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $sickDays;
#[ORM\OneToOne(targetEntity: Office::class, inversedBy: 'officeLeave', cascade: ['persist', 'remove'])]
#[ORM\JoinColumn(nullable: false)]
private $office;
#[ORM\OneToMany(targetEntity: OfficeAdditionalLeave::class, mappedBy: 'officeLeave')]
private $officeAdditionalLeaves;
public function __construct()
{
$this->officeAdditionalLeaves = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getAnnualDays(): ?string
{
return $this->AnnualDays;
}
public function setAnnualDays(string $AnnualDays): self
{
$this->AnnualDays = $AnnualDays;
return $this;
}
public function getIsIncremental(): ?bool
{
return $this->isIncremental;
}
public function setIsIncremental(?bool $isIncremental): self
{
$this->isIncremental = $isIncremental;
return $this;
}
public function getIncrementalStart(): ?int
{
return $this->IncrementalStart;
}
public function setIncrementalStart(?int $IncrementalStart): self
{
$this->IncrementalStart = $IncrementalStart;
return $this;
}
public function getIncrementalValue(): ?int
{
return $this->incrementalValue;
}
public function setIncrementalValue(?int $incrementalValue): self
{
$this->incrementalValue = $incrementalValue;
return $this;
}
public function getSickDays(): ?string
{
return $this->sickDays;
}
public function setSickDays(string $sickDays): self
{
$this->sickDays = $sickDays;
return $this;
}
public function getOffice(): ?Office
{
return $this->office;
}
public function setOffice(Office $office): self
{
$this->office = $office;
return $this;
}
/**
* @return Collection<int, OfficeAdditionalLeave>
*/
public function getOfficeAdditionalLeaves(): Collection
{
return $this->officeAdditionalLeaves;
}
public function addOfficeAdditionalLeaves(OfficeAdditionalLeave $officeAdditionalLeaves): self
{
if (!$this->officeAdditionalLeaves->contains($officeAdditionalLeaves)) {
$this->officeAdditionalLeaves[] = $officeAdditionalLeaves;
$officeAdditionalLeaves->setOfficeLeave($this);
}
return $this;
}
public function removeOfficeAdditionalLeaves(OfficeAdditionalLeave $officeAdditionalLeaves): self
{
if ($this->officeAdditionalLeaves->removeElement($officeAdditionalLeaves)) {
// set the owning side to null (unless already changed)
if ($officeAdditionalLeaves->getOfficeLeave() === $this) {
$officeAdditionalLeaves->setOfficeLeave(null);
}
}
return $this;
}
}