<?phpnamespace App\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;class JobMarket { /** * @var int */ private $id; /** * @var string */ private $name; /** * @var int */ private $number_of_positions; /** * @var \DateTime|null */ private $start_date; /** * @var \DateTime|null */ private $apply_until; /** * @var string */ private $description; /** * @var string */ private $requirements; /** * @var string */ private $salary; /** * @var string */ private $details; /** * @var \DateTime */ private $open_date; /** * @var \DateTime */ private $closed_date; /** * @var string */ private $url; /** * @var string */ private $email; /** * @var \App\Entity\Media */ private $image; /** * @var \App\Entity\Media */ private $customAdvertismentImage; /** * @var \App\Entity\Contact */ private $contact; /** * @var \App\Entity\JobMarketPositionType */ private $jobMarketPositionType; /** * @var \App\Entity\JobMarketApplyType */ private $jobMarketApplyType; /** * @var \App\Entity\JobMarketViewType */ private $jobMarketViewType; /** * @var \App\Entity\JobMarketStartType */ private $jobMarketStartType; /** * @var \App\Entity\User */ private $user; /** * @var \Doctrine\Common\Collections\Collection */ private $addresses; /** * @var \Doctrine\Common\Collections\Collection */ private $jobs; /** * @var \Doctrine\Common\Collections\Collection */ private $jobSectors; /** * @var \App\Entity\CompanyProfile */ private $companyProfile; /** * @var \App\Entity\JobMarketState */ private $jobMarketState; /** * @var string */ private $additional_info; /** * @var int */ private $viewCount; /** * @var int */ private $applicationCount; /** * Constructor */ public function __construct() { $this->addresses = new ArrayCollection(); $this->jobs = new ArrayCollection(); $this->jobSectors = new ArrayCollection(); } /** * Get id. * * @return int */ public function getId() { return $this->id; } /** * Set name. * * @param string $name * * @return JobMarket */ public function setName($name) { $this->name = $name; return $this; } /** * Get name. * * @return string */ public function getName() { return $this->name; } /** * Set numberOfPositions. * * @param int $numberOfPositions * * @return JobMarket */ public function setNumberOfPositions($numberOfPositions) { $this->number_of_positions = $numberOfPositions; return $this; } /** * Get numberOfPositions. * * @return int */ public function getNumberOfPositions() { return $this->number_of_positions; } /** * Set startDate. * * @param \DateTime|null $startDate * * @return JobMarket */ public function setStartDate($startDate = null) { $this->start_date = $startDate; return $this; } /** * Get startDate. * * @return \DateTime|null */ public function getStartDate() { return $this->start_date; } /** * Set applyUntil. * * @param \DateTime|null $applyUntil * * @return JobMarket */ public function setApplyUntil($applyUntil = null) { $this->apply_until = $applyUntil; return $this; } /** * Get applyUntil. * * @return \DateTime|null */ public function getApplyUntil() { return $this->apply_until; } /** * Set description. * * @param string $description * * @return JobMarket */ public function setDescription($description) { $this->description = $description; return $this; } /** * Get description. * * @return string */ public function getDescription() { return $this->description; } /** * Set requirements. * * @param string $requirements * * @return JobMarket */ public function setRequirements($requirements) { $this->requirements = $requirements; return $this; } /** * Get requirements. * * @return string */ public function getRequirements() { return $this->requirements; } /** * Set salary. * * @param string $salary * * @return JobMarket */ public function setSalary($salary) { $this->salary = $salary; return $this; } /** * Get salary. * * @return string */ public function getSalary() { return $this->salary; } /** * Set details. * * @param string $details * * @return JobMarket */ public function setDetails($details) { $this->details = $details; return $this; } /** * Get details. * * @return string */ public function getDetails() { return $this->details; } /** * Set openDate. * * @param \DateTime $openDate * * @return JobMarket */ public function setOpenDate($openDate) { $this->open_date = $openDate; return $this; } /** * Get openDate. * * @return \DateTime */ public function getOpenDate() { return $this->open_date; } /** * Set closedDate. * * @param \DateTime $closedDate * * @return JobMarket */ public function setClosedDate($closedDate) { $this->closed_date = $closedDate; return $this; } /** * Get closedDate. * * @return \DateTime */ public function getClosedDate() { return $this->closed_date; } /** * Set url. * * @param string $url * * @return JobMarket */ public function setUrl($url) { $this->url = $url; return $this; } /** * Get url. * * @return string */ public function getUrl() { return $this->url; } /** * Set email. * * @param string $email * * @return JobMarket */ public function setEmail($email) { $this->email = $email; return $this; } /** * Get email. * * @return string */ public function getEmail() { return $this->email; } /** * Set image. * * @param \App\Entity\Media|null $image * * @return JobMarket */ public function setImage(\App\Entity\Media $image = null) { $this->image = $image; return $this; } /** * Get image. * * @return \App\Entity\Media|null */ public function getImage() { return $this->image; } /** * Set customAdvertismentImage. * * @param \App\Entity\Media|null $customAdvertismentImage * * @return JobMarket */ public function setCustomAdvertismentImage(\App\Entity\Media $customAdvertismentImage = null) { $this->customAdvertismentImage = $customAdvertismentImage; return $this; } /** * Get customAdvertismentImage. * * @return \App\Entity\Media|null */ public function getCustomAdvertismentImage() { return $this->customAdvertismentImage; } /** * Set contact. * * @param \App\Entity\Contact|null $contact * * @return JobMarket */ public function setContact(\App\Entity\Contact $contact = null) { $this->contact = $contact; return $this; } /** * Get contact. * * @return \App\Entity\Contact|null */ public function getContact() { return $this->contact; } /** * Set jobMarketPositionType. * * @param \App\Entity\JobMarketPositionType|null $jobMarketPositionType * * @return JobMarket */ public function setJobMarketPositionType(\App\Entity\JobMarketPositionType $jobMarketPositionType = null) { $this->jobMarketPositionType = $jobMarketPositionType; return $this; } /** * Get jobMarketPositionType. * * @return \App\Entity\JobMarketPositionType|null */ public function getJobMarketPositionType() { return $this->jobMarketPositionType; } /** * Set jobMarketApplyType. * * @param \App\Entity\JobMarketApplyType|null $jobMarketApplyType * * @return JobMarket */ public function setJobMarketApplyType(\App\Entity\JobMarketApplyType $jobMarketApplyType = null) { $this->jobMarketApplyType = $jobMarketApplyType; return $this; } /** * Get jobMarketApplyType. * * @return \App\Entity\JobMarketApplyType|null */ public function getJobMarketApplyType() { return $this->jobMarketApplyType; } /** * Set jobMarketViewType. * * @param \App\Entity\JobMarketViewType|null $jobMarketViewType * * @return JobMarket */ public function setJobMarketViewType(\App\Entity\JobMarketViewType $jobMarketViewType = null) { $this->jobMarketViewType = $jobMarketViewType; return $this; } /** * Get jobMarketViewType. * * @return \App\Entity\JobMarketViewType|null */ public function getJobMarketViewType() { return $this->jobMarketViewType; } /** * Set jobMarketStartType. * * @param \App\Entity\JobMarketStartType|null $jobMarketStartType * * @return JobMarket */ public function setJobMarketStartType(\App\Entity\JobMarketStartType $jobMarketStartType = null) { $this->jobMarketStartType = $jobMarketStartType; return $this; } /** * Get jobMarketStartType. * * @return \App\Entity\JobMarketStartType|null */ public function getJobMarketStartType() { return $this->jobMarketStartType; } /** * Set user. * * @param \App\Entity\User|null $user * * @return JobMarket */ public function setUser(\App\Entity\User $user = null) { $this->user = $user; return $this; } /** * Get user. * * @return \App\Entity\User|null */ public function getUser() { return $this->user; } /** * Add job. * * @param \App\Entity\Job $job * * @return JobMarket */ public function addJob(\App\Entity\Job $job) { $this->jobs[] = $job; return $this; } /** * Remove job. * * @param \App\Entity\Job $job * * @return boolean TRUE if this collection contained the specified element, FALSE otherwise. */ public function removeJob(\App\Entity\Job $job) { return $this->jobs->removeElement($job); } /** * Get jobs. * * @return \Doctrine\Common\Collections\Collection */ public function getJobs() { return $this->jobs; } /** * Add address. * * @param \App\Entity\Address $address * * @return JobMarket */ public function addAddress(\App\Entity\Address $address) { $this->addresses[] = $address; return $this; } /** * Remove address. * * @param \App\Entity\Address $address * * @return boolean TRUE if this collection contained the specified element, FALSE otherwise. */ public function removeAddress(\App\Entity\Address $address) { return $this->addresses->removeElement($address); } /** * Get addresses. * * @return \Doctrine\Common\Collections\Collection */ public function getAddresses() { return $this->addresses; } /** * Add jobSector. * * @param \App\Entity\JobSector $jobSector * * @return JobMarket */ public function addJobSector(\App\Entity\JobSector $jobSector) { $this->jobSectors[] = $jobSector; return $this; } /** * Remove jobSector. * * @param \App\Entity\JobSector $jobSector * * @return boolean TRUE if this collection contained the specified element, FALSE otherwise. */ public function removeJobSector(\App\Entity\JobSector $jobSector) { return $this->jobSectors->removeElement($jobSector); } /** * Get jobSectors. * * @return \Doctrine\Common\Collections\Collection */ public function getJobSectors() { return $this->jobSectors; } /** * Set additionalInfo. * * @param string $additionalInfo * * @return JobMarket */ public function setAdditionalInfo($additionalInfo) { $this->additional_info = $additionalInfo; return $this; } /** * Get additionalInfo. * * @return string */ public function getAdditionalInfo() { return $this->additional_info; } /** * Set jobMarketState. * * @param \App\Entity\JobMarketState|null $jobMarketState * * @return JobMarket */ public function setJobMarketState(\App\Entity\JobMarketState $jobMarketState = null) { $this->jobMarketState = $jobMarketState; return $this; } /** * Get jobMarketState. * * @return \App\Entity\JobMarketState|null */ public function getJobMarketState() { return $this->jobMarketState; } /** * Set companyProfile. * * @param \App\Entity\CompanyProfile|null $companyProfile * * @return JobMarket */ public function setCompanyProfile(\App\Entity\CompanyProfile $companyProfile = null) { $this->companyProfile = $companyProfile; return $this; } /** * Get companyProfile. * * @return \App\Entity\CompanyProfile|null */ public function getCompanyProfile() { return $this->companyProfile; } public function getViewCount(): int { return $this->viewCount; } public function setViewCount(int $viewCount): void { $this->viewCount = $viewCount; } public function getApplicationCount(): int { return $this->applicationCount; } public function setApplicationCount(int $applicationCount): void { $this->applicationCount = $applicationCount; } /* * Get the interest fields of the company profile * * multiple jobs may be attached * * */ public function getInterestFields() { if (empty($this->jobs)) { return array(); } /* @var $job \App\Entity\Job */ $job = $this->jobs[0]; if (empty($job)) { return array(); } return $job->getInterestFields(); }}