<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Serializer\Annotation\MaxDepth;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: 'App\Repository\PersonalInfoRepository')]
class PersonalInfo
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[MaxDepth(1)]
#[ORM\OneToOne(targetEntity: 'App\Entity\User', inversedBy: 'personalInfo', cascade: ['persist', 'remove'])]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE', nullable: false)]
private $user;
#[Groups(['LogService', 'EmailSchedule'])]
#[ORM\Column(type: 'string', length: 64, nullable: true)]
private $firstName;
#[Groups(['LogService', 'EmailSchedule'])]
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $middleName;
#[Groups(['LogService', 'EmailSchedule'])]
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $lastName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $chineseName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $addressStreet;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $addressCity;
#[ORM\Column(type: 'string', length: 64, nullable: true)]
private $jobTitle;
#[ORM\Column(type: 'date', nullable: true)]
private $jobJoinDate;
#[ORM\Column(type: 'text', nullable: true)]
private $jobDescription;
#[ORM\Column(type: 'text', nullable: true)]
private $jobResponsibility;
#[ORM\Column(type: 'string', length: 64, nullable: true)]
private $taxNumber;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $taxStatus;
#[ORM\Column(type: 'string', length: 64, nullable: true)]
private $socialSecurityNumber;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $gender;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $religion;
#[ORM\Column(type: 'string', length: 3, nullable: true)]
private $bloodType;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $birthPlace;
#[ORM\Column(type: 'date', nullable: true)]
private $birthDate;
#[ORM\Column(type: 'string', length: 8, nullable: true)]
private $nationality;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $idNumber;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $passportNumber;
#[ORM\Column(type: 'date', nullable: true)]
private $passportIssueDate;
#[ORM\Column(type: 'date', nullable: true)]
private $passportExpiryDate;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $employmentPassNumber;
#[ORM\Column(type: 'date', nullable: true)]
private $workPermitIssueDate;
#[ORM\Column(type: 'date', nullable: true)]
private $workPermitExpiryDate;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $contactPhone;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $contactMobile;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $contactEmail;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $contactSkype;
#[ORM\Column(type: 'string', length: 64, nullable: true)]
private $emergencyContactName;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $emergencyContactPhone;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $maritalStatus;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $spouseName;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $spousePassportNumber;
#[ORM\Column(type: 'string', length: 8, nullable: true)]
private $spouseNationality;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $spouseOccupation;
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $spouseEmployer;
#[ORM\Column(type: 'text', nullable: true)]
private $profilePicture;
#[Groups(['UserInfo'])]
#[ORM\Column(type: 'string', length: 32, nullable: true)]
private $jobStatus;
#[ORM\OneToMany(targetEntity: 'App\Entity\Children', mappedBy: 'personalInfo', orphanRemoval: true, fetch: 'EXTRA_LAZY')]
private $childrens;
#[ORM\OneToMany(targetEntity: 'App\Entity\Bank', mappedBy: 'personalInfo', fetch: 'EXTRA_LAZY')]
private $banks;
#[ORM\OneToOne(targetEntity: 'App\Entity\Bank', cascade: ['persist', 'remove'], fetch: 'EXTRA_LAZY')]
private $preferredBank;
#[ORM\Column(type: 'datetime', nullable: true)]
private $modifiedAt;
#[Groups(['UserInfo'])]
#[ORM\Column(type: 'date', nullable: true)]
private $jobExpiryDate;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $workPermitType;
#[ORM\Column(type: 'text', nullable: true)]
private $curriculumVitae;
#[ORM\Column(type: 'text', nullable: true)]
private $aboutMe;
#[ORM\OneToOne(targetEntity: SocialMedia::class, mappedBy: 'personalInfo', fetch: 'EXTRA_LAZY', cascade: ['persist', 'remove'])]
private $socialMedia;
#[ORM\Column(type: 'string', length: 10, nullable: true)]
private $addressPostcode;
#[ORM\Column(type: 'string', length: 8, nullable: true)]
private $addressCountry;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $Language;
#[Groups(['UserInfo'])]
#[ORM\Column(type: 'date', nullable: true)]
private $jobTerminateDate;
#[Groups(['UserInfo'])]
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $jobTerminateReason;
#[ORM\OneToOne(targetEntity: Vaccination::class, mappedBy: 'personalInfo', fetch: 'EXTRA_LAZY', cascade: ['persist', 'remove'])]
private $vaccination;
#[ORM\Column(type: 'date', nullable: true)]
private $jobPermanentDate;
#[ORM\Column(type: 'json', nullable: true)]
private $attributes;
#[ORM\ManyToOne(targetEntity: UserRole::class, inversedBy: 'personalInfo')]
private $userRole;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $contactWechat;
#[ORM\Column(type: 'string', length: 128, nullable: true)]
private $contactWhatsapp;
#[ORM\Column(type: 'text', length: 255, nullable: true)]
private $appointmentScheduling = null;
#[ORM\Column(type: 'date', nullable: true)]
private $idIssueDate;
#[ORM\Column(type: 'date', nullable: true)]
private $idExpiryDate;
#[ORM\Column(type: 'text', nullable: true)]
private $idFile;
#[ORM\Column(type: 'text', nullable: true)]
private $passportFile;
#[ORM\Column(type: 'text', nullable: true)]
private $employmentPassFile;
#[ORM\Column(type: 'date', nullable: true)]
private $pipDate;
#[ORM\Column(type: 'date', nullable: true)]
private $pipExtensionDate;
#[ORM\Column(length: 255, nullable: true)]
private ?string $pipFile = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $pipEndDate = null;
#[ORM\OneToOne(inversedBy: 'personalInfo', cascade: ['persist', 'remove'])]
private ?RecruitApplication $recruitApplicant = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $taxFile = null;
public function __construct()
{
$this->childrens = new ArrayCollection();
$this->banks = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(User $user): self
{
$this->user = $user;
return $this;
}
public function getFirstName($urlSafe = false): ?string
{
if ($urlSafe) {
return preg_replace(array('/[^a-z0-9-]/i', '/[ ]{2,}/', '/[ ]/'), array(' ', ' ', '-'), strtolower($this->firstName));
} else {
return $this->firstName;
}
}
public function setFirstName(?string $firstName): self
{
$this->firstName = $firstName;
return $this;
}
public function getMiddleName(): ?string
{
return $this->middleName;
}
public function setMiddleName(?string $middleName): self
{
$this->middleName = $middleName;
return $this;
}
public function getLastName(): ?string
{
return $this->lastName;
}
public function setLastName(?string $lastName): self
{
$this->lastName = $lastName;
return $this;
}
public function getAddressStreet(): ?string
{
return $this->addressStreet;
}
public function setAddressStreet(?string $addressStreet): self
{
$this->addressStreet = $addressStreet;
return $this;
}
public function getAddressCity(): ?string
{
return $this->addressCity;
}
public function setAddressCity(?string $addressCity): self
{
$this->addressCity = $addressCity;
return $this;
}
public function getJobTitle(): ?string
{
// return $this->jobTitle; not used anymore, but keep it for backward compatibility
return $this->user->getUserTitle() ?? $this->jobTitle;
}
public function setJobTitle(?string $jobTitle): self
{
$this->jobTitle = $jobTitle;
return $this;
}
public function getJobJoinDate(): ?\DateTimeInterface
{
return $this->jobJoinDate;
}
public function setJobJoinDate(?\DateTimeInterface $jobJoinDate): self
{
$this->jobJoinDate = $jobJoinDate;
return $this;
}
public function getJobDescription(): ?string
{
return $this->jobDescription;
}
public function setJobDescription(?string $jobDescription): self
{
$this->jobDescription = $jobDescription;
return $this;
}
public function getJobResponsibility(): ?string
{
return $this->jobResponsibility;
}
public function setJobResponsibility(?string $jobResponsibility): self
{
$this->jobResponsibility = $jobResponsibility;
return $this;
}
public function getTaxNumber(): ?string
{
return $this->taxNumber;
}
public function setTaxNumber(?string $taxNumber): self
{
$this->taxNumber = $taxNumber;
return $this;
}
public function getTaxStatus(): ?string
{
return $this->taxStatus;
}
public function setTaxStatus(?string $taxStatus): self
{
$this->taxStatus = $taxStatus;
return $this;
}
public function getSocialSecurityNumber(): ?string
{
return $this->socialSecurityNumber;
}
public function setSocialSecurityNumber(?string $socialSecurityNumber): self
{
$this->socialSecurityNumber = $socialSecurityNumber;
return $this;
}
public function getChineseName(): ?string
{
return $this->chineseName;
}
public function setChineseName(?string $chineseName): self
{
$this->chineseName = $chineseName;
return $this;
}
public function getGender(): ?string
{
return $this->gender;
}
public function setGender(?string $gender): self
{
$this->gender = $gender;
return $this;
}
public function getReligion(): ?string
{
return $this->religion;
}
public function setReligion(?string $religion): self
{
$this->religion = $religion;
return $this;
}
public function getBloodType(): ?string
{
return $this->bloodType;
}
public function setBloodType(?string $bloodType): self
{
$this->bloodType = $bloodType;
return $this;
}
public function getBirthPlace(): ?string
{
return $this->birthPlace;
}
public function setBirthPlace(?string $birthPlace): self
{
$this->birthPlace = $birthPlace;
return $this;
}
public function getBirthDate(): ?\DateTimeInterface
{
return $this->birthDate;
}
public function setBirthDate(?\DateTimeInterface $birthDate): self
{
$this->birthDate = $birthDate;
return $this;
}
public function getNationality(): ?string
{
return $this->nationality;
}
public function setNationality(?string $nationality): self
{
$this->nationality = $nationality;
return $this;
}
public function getIdNumber(): ?string
{
return $this->idNumber;
}
public function setIdNumber(?string $idNumber): self
{
$this->idNumber = $idNumber;
return $this;
}
public function getPassportNumber(): ?string
{
return $this->passportNumber;
}
public function setPassportNumber(?string $passportNumber): self
{
$this->passportNumber = $passportNumber;
return $this;
}
public function getPassportIssueDate(): ?\DateTimeInterface
{
return $this->passportIssueDate;
}
public function setPassportIssueDate(?\DateTimeInterface $passportIssueDate): self
{
$this->passportIssueDate = $passportIssueDate;
return $this;
}
public function getPassportExpiryDate(): ?\DateTimeInterface
{
return $this->passportExpiryDate;
}
public function setPassportExpiryDate(?\DateTimeInterface $passportExpiryDate): self
{
$this->passportExpiryDate = $passportExpiryDate;
return $this;
}
public function getEmploymentPassNumber(): ?string
{
return $this->employmentPassNumber;
}
public function setEmploymentPassNumber(?string $employmentPassNumber): self
{
$this->employmentPassNumber = $employmentPassNumber;
return $this;
}
public function getWorkPermitIssueDate(): ?\DateTimeInterface
{
return $this->workPermitIssueDate;
}
public function setWorkPermitIssueDate(?\DateTimeInterface $workPermitIssueDate): self
{
$this->workPermitIssueDate = $workPermitIssueDate;
return $this;
}
public function getWorkPermitExpiryDate(): ?\DateTimeInterface
{
return $this->workPermitExpiryDate;
}
public function setWorkPermitExpiryDate(?\DateTimeInterface $workPermitExpiryDate): self
{
$this->workPermitExpiryDate = $workPermitExpiryDate;
return $this;
}
public function getContactPhone(): ?string
{
return $this->contactPhone;
}
public function setContactPhone(?string $contactPhone): self
{
$this->contactPhone = $contactPhone;
return $this;
}
public function getContactMobile(): ?string
{
return $this->contactMobile;
}
public function setContactMobile(?string $contactMobile): self
{
$this->contactMobile = $contactMobile;
return $this;
}
public function getContactEmail(): ?string
{
return $this->contactEmail;
}
public function setContactEmail(?string $contactEmail): self
{
$this->contactEmail = $contactEmail;
return $this;
}
public function getContactSkype(): ?string
{
return $this->contactSkype;
}
public function setContactSkype(?string $contactSkype): self
{
$this->contactSkype = $contactSkype;
return $this;
}
public function getEmergencyContactName(): ?string
{
return $this->emergencyContactName;
}
public function setEmergencyContactName(?string $emergencyContactName): self
{
$this->emergencyContactName = $emergencyContactName;
return $this;
}
public function getEmergencyContactPhone(): ?string
{
return $this->emergencyContactPhone;
}
public function setEmergencyContactPhone(?string $emergencyContactPhone): self
{
$this->emergencyContactPhone = $emergencyContactPhone;
return $this;
}
public function getMaritalStatus(): ?string
{
return $this->maritalStatus;
}
public function setMaritalStatus(?string $maritalStatus): self
{
$this->maritalStatus = $maritalStatus;
return $this;
}
public function getSpouseName(): ?string
{
return $this->spouseName;
}
public function setSpouseName(?string $spouseName): self
{
$this->spouseName = $spouseName;
return $this;
}
public function getSpousePassportNumber(): ?string
{
return $this->spousePassportNumber;
}
public function setSpousePassportNumber(?string $spousePassportNumber): self
{
$this->spousePassportNumber = $spousePassportNumber;
return $this;
}
public function getSpouseNationality(): ?string
{
return $this->spouseNationality;
}
public function setSpouseNationality(?string $spouseNationality): self
{
$this->spouseNationality = $spouseNationality;
return $this;
}
public function getSpouseOccupation(): ?string
{
return $this->spouseOccupation;
}
public function setSpouseOccupation(?string $spouseOccupation): self
{
$this->spouseOccupation = $spouseOccupation;
return $this;
}
public function getSpouseEmployer(): ?string
{
return $this->spouseEmployer;
}
public function setSpouseEmployer(?string $spouseEmployer): self
{
$this->spouseEmployer = $spouseEmployer;
return $this;
}
public function getProfilePicture(): ?string
{
return $this->profilePicture;
}
public function setProfilePicture(?string $profilePicture): self
{
$this->profilePicture = $profilePicture;
return $this;
}
public function getJobStatus(): ?string
{
return $this->jobStatus;
}
public function setJobStatus(?string $jobStatus): self
{
$this->jobStatus = $jobStatus;
return $this;
}
public function getAttributes(): ?array
{
return $this->attributes;
}
public function setAttributes(?array $attributes): self
{
$this->attributes = $attributes;
return $this;
}
/**
* @return Collection|Children[]
*/
public function getChildrens(): Collection
{
return $this->childrens;
}
public function addChildren(Children $children): self
{
if (!$this->childrens->contains($children)) {
$this->childrens[] = $children;
$children->setPersonalInfo($this);
}
return $this;
}
public function removeChildren(Children $children): self
{
if ($this->childrens->contains($children)) {
$this->childrens->removeElement($children);
// set the owning side to null (unless already changed)
if ($children->getPersonalInfo() === $this) {
$children->setPersonalInfo(null);
}
}
return $this;
}
/**
* @return Collection|Bank[]
*/
public function getBanks(): Collection
{
return $this->banks;
}
public function addBank(Bank $bank): self
{
if (!$this->banks->contains($bank)) {
$this->banks[] = $bank;
$bank->setPersonalInfo($this);
}
return $this;
}
public function removeBank(Bank $bank): self
{
if ($this->banks->contains($bank)) {
$this->banks->removeElement($bank);
// set the owning side to null (unless already changed)
if ($bank->getPersonalInfo() === $this) {
$bank->setPersonalInfo(null);
}
}
return $this;
}
public function getPreferredBank(): ?Bank
{
return $this->preferredBank;
}
public function setPreferredBank(?Bank $preferredBank): self
{
$this->preferredBank = $preferredBank;
return $this;
}
public function getFullName($urlSafe = false)
{
$fullname = $this->firstName;
if ($this->middleName) $fullname .= ' ' . $this->middleName;
if ($this->lastName) $fullname .= ' ' . $this->lastName;
if ($urlSafe) {
$fullname = preg_replace(array('/[^a-z0-9-]/i', '/[ ]{2,}/', '/[ ]/'), array(' ', ' ', '-'), strtolower($fullname));
};
return $fullname;
}
public function getShortFullName($urlSafe = false){
$shortFullName = $this->firstName;
$shortFullName .= ' ' . substr($this->middleName ?? $this->lastName, 0, 1) . '.';
if ($urlSafe) {
$shortFullName = preg_replace(array('/[^a-z0-9-]/i', '/[ ]{2,}/', '/[ ]/'), array(' ', ' ', '-'), strtolower($shortFullName));
};
return $shortFullName;
}
public function originalProfilePicture()
{
$filename = explode('/', $this->profilePicture);
return $filename[0] . '/' . $filename[1] . '/original-' . $filename[2];
}
public function profileCompletion()
{
$pc['data'] = [];
$pc['completed'] = 0;
if ($this->getFullName() == null) {
array_push($pc['data'], ['message.profile.name' => false]);
} else {
array_push($pc['data'], ['message.profile.name' => true]);
$pc['completed']++;
}
if ($this->profilePicture == null && $this->user->getTemporaryPicture() == null) {
array_push($pc['data'], ['message.profile.picture' => false]);
} else {
array_push($pc['data'], ['message.profile.picture' => true]);
$pc['completed']++;
}
if ($this->contactMobile == null) {
array_push($pc['data'], ['message.profile.contact' => false]);
} else {
array_push($pc['data'], ['message.profile.contact' => true]);
$pc['completed']++;
}
if ($this->addressStreet == null) {
array_push($pc['data'], ['message.profile.address' => false]);
} else {
array_push($pc['data'], ['message.profile.address' => true]);
$pc['completed']++;
}
if (count($this->banks) == 0) {
array_push($pc['data'], ['message.profile.bank' => false]);
} else {
array_push($pc['data'], ['message.profile.bank' => true]);
$pc['completed']++;
}
$pc['total'] = ($pc['completed'] / count($pc['data'])) * 100;
return $pc;
}
public function getModifiedAt(): ?\DateTimeInterface
{
return $this->modifiedAt;
}
public function setModifiedAt(?\DateTimeInterface $modifiedAt): self
{
$this->modifiedAt = $modifiedAt;
return $this;
}
public function getJobExpiryDate(): ?\DateTimeInterface
{
return $this->jobExpiryDate;
}
public function setJobExpiryDate(?\DateTimeInterface $jobExpiryDate): self
{
$this->jobExpiryDate = $jobExpiryDate;
return $this;
}
public function getWorkPermitType(): ?string
{
return $this->workPermitType;
}
public function setWorkPermitType(?string $workPermitType): self
{
$this->workPermitType = $workPermitType;
return $this;
}
public function getCurriculumVitae(): ?string
{
return $this->curriculumVitae;
}
public function setCurriculumVitae(?string $curriculumVitae): self
{
$this->curriculumVitae = $curriculumVitae;
return $this;
}
public function getAboutMe(): ?string
{
return $this->aboutMe;
}
public function setAboutMe(?string $aboutMe): self
{
$this->aboutMe = $aboutMe;
return $this;
}
public function getSocialMedia(): ?SocialMedia
{
return $this->socialMedia;
}
public function setSocialMedia(?SocialMedia $socialMedia): self
{
$this->socialMedia = $socialMedia;
// set (or unset) the owning side of the relation if necessary
$newPersonalInfo = null === $socialMedia ? null : $this;
if ($socialMedia->getPersonalInfo() !== $newPersonalInfo) {
$socialMedia->setPersonalInfo($newPersonalInfo);
}
return $this;
}
public function getAddressPostcode(): ?string
{
return $this->addressPostcode;
}
public function setAddressPostcode(?string $addressPostcode): self
{
$this->addressPostcode = $addressPostcode;
return $this;
}
public function getAddressCountry(): ?string
{
return $this->addressCountry;
}
public function setAddressCountry(?string $addressCountry): self
{
$this->addressCountry = $addressCountry;
return $this;
}
public function getLanguage(): ?string
{
return $this->Language;
}
public function setLanguage(?string $Language): self
{
$this->Language = $Language;
return $this;
}
public function getJobTerminateDate(): ?\DateTimeInterface
{
return $this->jobTerminateDate;
}
public function setJobTerminateDate(?\DateTimeInterface $jobTerminateDate): self
{
$this->jobTerminateDate = $jobTerminateDate;
return $this;
}
public function getJobTerminateReason(): ?string
{
return $this->jobTerminateReason;
}
public function setJobTerminateReason(?string $jobTerminateReason): self
{
$this->jobTerminateReason = $jobTerminateReason;
return $this;
}
public function getVaccination(): ?Vaccination
{
return $this->vaccination;
}
public function setVaccination(?Vaccination $vaccination): self
{
// unset the owning side of the relation if necessary
if ($vaccination === null && $this->vaccination !== null) {
$this->vaccination->setPersonalInfo(null);
}
// set the owning side of the relation if necessary
if ($vaccination !== null && $vaccination->getPersonalInfo() !== $this) {
$vaccination->setPersonalInfo($this);
}
$this->vaccination = $vaccination;
return $this;
}
public function getJobPermanentDate(): ?\DateTimeInterface
{
return $this->jobPermanentDate;
}
public function setJobPermanentDate(?\DateTimeInterface $jobPermanentDate): self
{
$this->jobPermanentDate = $jobPermanentDate;
return $this;
}
public function getUserRole(): ?UserRole
{
return $this->userRole;
}
public function setUserRole(?UserRole $userRole): self
{
$this->userRole = $userRole;
return $this;
}
public function getContactWechat(): ?string
{
return $this->contactWechat;
}
public function setContactWechat(?string $contactWechat): self
{
$this->contactWechat = $contactWechat;
return $this;
}
public function getContactWhatsapp(): ?string
{
return $this->contactWhatsapp;
}
public function setContactWhatsapp(?string $contactWhatsapp): self
{
$this->contactWhatsapp = $contactWhatsapp;
return $this;
}
public function getAppointmentScheduling(): ?string
{
return $this->appointmentScheduling;
}
public function setAppointmentScheduling(?string $appointmentScheduling): self
{
$this->appointmentScheduling = $appointmentScheduling;
return $this;
}
public function getIdIssueDate(): ?\DateTimeInterface
{
return $this->idIssueDate;
}
public function setIdIssueDate(?\DateTimeInterface $idIssueDate): self
{
$this->idIssueDate = $idIssueDate;
return $this;
}
public function getIdExpiryDate(): ?\DateTimeInterface
{
return $this->idExpiryDate;
}
public function setIdExpiryDate(?\DateTimeInterface $idExpiryDate): self
{
$this->idExpiryDate = $idExpiryDate;
return $this;
}
public function getIdFile(): ?string
{
return $this->idFile;
}
public function setIdFile(?string $idFile): self
{
$this->idFile = $idFile;
return $this;
}
public function getPassportFile(): ?string
{
return $this->passportFile;
}
public function setPassportFile(?string $passportFile): self
{
$this->passportFile = $passportFile;
return $this;
}
public function getEmploymentPassFile(): ?string
{
return $this->employmentPassFile;
}
public function setEmploymentPassFile(?string $employmentPassFile): self
{
$this->employmentPassFile = $employmentPassFile;
return $this;
}
public function getPipFile(): ?string
{
return $this->pipFile;
}
public function setPipFile(?string $pipFile): self
{
$this->pipFile = $pipFile;
return $this;
}
public function getPipExtensionDate(): ?\DateTimeInterface
{
return $this->pipExtensionDate;
}
public function setPipExtensionDate(?\DateTimeInterface $pipExtensionDate): self
{
$this->pipExtensionDate = $pipExtensionDate;
return $this;
}
public function getPipDate(): ?\DateTimeInterface
{
return $this->pipDate;
}
public function setPipDate(?\DateTimeInterface $pipDate): self
{
$this->pipDate = $pipDate;
return $this;
}
public function getPipEndDate(): ?\DateTimeInterface
{
return $this->pipEndDate;
}
public function setPipEndDate(?\DateTimeInterface $pipEndDate): self
{
$this->pipEndDate = $pipEndDate;
return $this;
}
public function getRecruitApplicant(): ?RecruitApplication
{
return $this->recruitApplicant;
}
public function setRecruitApplicant(?RecruitApplication $recruitApplicant): self
{
$this->recruitApplicant = $recruitApplicant;
return $this;
}
public function getTaxFile(): ?string
{
return $this->taxFile;
}
public function setTaxFile(?string $taxFile): self
{
$this->taxFile = $taxFile;
return $this;
}
}