src/Entity/JobMarket.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. class JobMarket {
  7.     /**
  8.      * @var int
  9.      */
  10.     private $id;
  11.     /**
  12.      * @var string
  13.      */
  14.     private $name;
  15.     /**
  16.      * @var int
  17.      */
  18.     private $number_of_positions;
  19.     /**
  20.      * @var \DateTime|null
  21.      */
  22.     private $start_date;
  23.     /**
  24.      * @var \DateTime|null
  25.      */
  26.     private $apply_until;
  27.     /**
  28.      * @var string
  29.      */
  30.     private $description;
  31.     /**
  32.      * @var string
  33.      */
  34.     private $requirements;
  35.     /**
  36.      * @var string
  37.      */
  38.     private $salary;
  39.     /**
  40.      * @var string
  41.      */
  42.     private $details;
  43.     /**
  44.      * @var \DateTime
  45.      */
  46.     private $open_date;
  47.     /**
  48.      * @var \DateTime
  49.      */
  50.     private $closed_date;
  51.     /**
  52.      * @var string
  53.      */
  54.     private $url;
  55.     /**
  56.      * @var \App\Entity\Media
  57.      */
  58.     private $image;
  59.     /**
  60.      * @var \App\Entity\Media
  61.      */
  62.     private $customAdvertismentImage;
  63.     /**
  64.      * @var \App\Entity\Contact
  65.      */
  66.     private $contact;
  67.     /**
  68.      * @var \App\Entity\JobMarketPositionType
  69.      */
  70.     private $jobMarketPositionType;
  71.     /**
  72.      * @var \App\Entity\JobMarketApplyType
  73.      */
  74.     private $jobMarketApplyType;
  75.     /**
  76.      * @var \App\Entity\JobMarketStartType
  77.      */
  78.     private $jobMarketStartType;
  79.     /**
  80.      * @var \App\Entity\User
  81.      */
  82.     private $user;
  83.     /**
  84.      * @var \Doctrine\Common\Collections\Collection
  85.      */
  86.     private $addresses;
  87.     /**
  88.      * @var \Doctrine\Common\Collections\Collection
  89.      */
  90.     private $jobs;
  91.     /**
  92.      * @var \Doctrine\Common\Collections\Collection
  93.      */
  94.     private $jobSectors;
  95.     /**
  96.      * @var \App\Entity\CompanyProfile
  97.      */
  98.     private $companyProfile;
  99.     /**
  100.      * @var \App\Entity\JobMarketState
  101.      */
  102.     private $jobMarketState;
  103.     /**
  104.      * @var string
  105.      */
  106.     private $additional_info;
  107.     /**
  108.      * Constructor
  109.      */
  110.     public function __construct() {
  111.         $this->addresses = new ArrayCollection();
  112.         $this->jobs = new ArrayCollection();
  113.         $this->jobSectors = new ArrayCollection();
  114.     }
  115.     /**
  116.      * Get id.
  117.      *
  118.      * @return int
  119.      */
  120.     public function getId() {
  121.         return $this->id;
  122.     }
  123.     /**
  124.      * Set name.
  125.      *
  126.      * @param string $name
  127.      *
  128.      * @return JobMarket
  129.      */
  130.     public function setName($name) {
  131.         $this->name $name;
  132.         return $this;
  133.     }
  134.     /**
  135.      * Get name.
  136.      *
  137.      * @return string
  138.      */
  139.     public function getName() {
  140.         return $this->name;
  141.     }
  142.     /**
  143.      * Set numberOfPositions.
  144.      *
  145.      * @param int $numberOfPositions
  146.      *
  147.      * @return JobMarket
  148.      */
  149.     public function setNumberOfPositions($numberOfPositions) {
  150.         $this->number_of_positions $numberOfPositions;
  151.         return $this;
  152.     }
  153.     /**
  154.      * Get numberOfPositions.
  155.      *
  156.      * @return int
  157.      */
  158.     public function getNumberOfPositions() {
  159.         return $this->number_of_positions;
  160.     }
  161.     /**
  162.      * Set startDate.
  163.      *
  164.      * @param \DateTime|null $startDate
  165.      *
  166.      * @return JobMarket
  167.      */
  168.     public function setStartDate($startDate null) {
  169.         $this->start_date $startDate;
  170.         return $this;
  171.     }
  172.     /**
  173.      * Get startDate.
  174.      *
  175.      * @return \DateTime|null
  176.      */
  177.     public function getStartDate() {
  178.         return $this->start_date;
  179.     }
  180.     /**
  181.      * Set applyUntil.
  182.      *
  183.      * @param \DateTime|null $applyUntil
  184.      *
  185.      * @return JobMarket
  186.      */
  187.     public function setApplyUntil($applyUntil null) {
  188.         $this->apply_until $applyUntil;
  189.         return $this;
  190.     }
  191.     /**
  192.      * Get applyUntil.
  193.      *
  194.      * @return \DateTime|null
  195.      */
  196.     public function getApplyUntil() {
  197.         return $this->apply_until;
  198.     }
  199.     /**
  200.      * Set description.
  201.      *
  202.      * @param string $description
  203.      *
  204.      * @return JobMarket
  205.      */
  206.     public function setDescription($description) {
  207.         $this->description $description;
  208.         return $this;
  209.     }
  210.     /**
  211.      * Get description.
  212.      *
  213.      * @return string
  214.      */
  215.     public function getDescription() {
  216.         return $this->description;
  217.     }
  218.     /**
  219.      * Set requirements.
  220.      *
  221.      * @param string $requirements
  222.      *
  223.      * @return JobMarket
  224.      */
  225.     public function setRequirements($requirements) {
  226.         $this->requirements $requirements;
  227.         return $this;
  228.     }
  229.     /**
  230.      * Get requirements.
  231.      *
  232.      * @return string
  233.      */
  234.     public function getRequirements() {
  235.         return $this->requirements;
  236.     }
  237.     /**
  238.      * Set salary.
  239.      *
  240.      * @param string $salary
  241.      *
  242.      * @return JobMarket
  243.      */
  244.     public function setSalary($salary) {
  245.         $this->salary $salary;
  246.         return $this;
  247.     }
  248.     /**
  249.      * Get salary.
  250.      *
  251.      * @return string
  252.      */
  253.     public function getSalary() {
  254.         return $this->salary;
  255.     }
  256.     /**
  257.      * Set details.
  258.      *
  259.      * @param string $details
  260.      *
  261.      * @return JobMarket
  262.      */
  263.     public function setDetails($details) {
  264.         $this->details $details;
  265.         return $this;
  266.     }
  267.     /**
  268.      * Get details.
  269.      *
  270.      * @return string
  271.      */
  272.     public function getDetails() {
  273.         return $this->details;
  274.     }
  275.     /**
  276.      * Set openDate.
  277.      *
  278.      * @param \DateTime $openDate
  279.      *
  280.      * @return JobMarket
  281.      */
  282.     public function setOpenDate($openDate) {
  283.         $this->open_date $openDate;
  284.         return $this;
  285.     }
  286.     /**
  287.      * Get openDate.
  288.      *
  289.      * @return \DateTime
  290.      */
  291.     public function getOpenDate() {
  292.         return $this->open_date;
  293.     }
  294.     /**
  295.      * Set closedDate.
  296.      *
  297.      * @param \DateTime $closedDate
  298.      *
  299.      * @return JobMarket
  300.      */
  301.     public function setClosedDate($closedDate) {
  302.         $this->closed_date $closedDate;
  303.         return $this;
  304.     }
  305.     /**
  306.      * Get closedDate.
  307.      *
  308.      * @return \DateTime
  309.      */
  310.     public function getClosedDate() {
  311.         return $this->closed_date;
  312.     }
  313.     /**
  314.      * Set url.
  315.      *
  316.      * @param string $url
  317.      *
  318.      * @return JobMarket
  319.      */
  320.     public function setUrl($url) {
  321.         $this->url $url;
  322.         return $this;
  323.     }
  324.     /**
  325.      * Get url.
  326.      *
  327.      * @return string
  328.      */
  329.     public function getUrl() {
  330.         return $this->url;
  331.     }
  332.     /**
  333.      * Set image.
  334.      *
  335.      * @param \App\Entity\Media|null $image
  336.      *
  337.      * @return JobMarket
  338.      */
  339.     public function setImage(\App\Entity\Media $image null) {
  340.         $this->image $image;
  341.         return $this;
  342.     }
  343.     /**
  344.      * Get image.
  345.      *
  346.      * @return \App\Entity\Media|null
  347.      */
  348.     public function getImage() {
  349.         return $this->image;
  350.     }
  351.     /**
  352.      * Set customAdvertismentImage.
  353.      *
  354.      * @param \App\Entity\Media|null $customAdvertismentImage
  355.      *
  356.      * @return JobMarket
  357.      */
  358.     public function setCustomAdvertismentImage(\App\Entity\Media $customAdvertismentImage null) {
  359.         $this->customAdvertismentImage $customAdvertismentImage;
  360.         return $this;
  361.     }
  362.     /**
  363.      * Get customAdvertismentImage.
  364.      *
  365.      * @return \App\Entity\Media|null
  366.      */
  367.     public function getCustomAdvertismentImage() {
  368.         return $this->customAdvertismentImage;
  369.     }
  370.     /**
  371.      * Set contact.
  372.      *
  373.      * @param \App\Entity\Contact|null $contact
  374.      *
  375.      * @return JobMarket
  376.      */
  377.     public function setContact(\App\Entity\Contact $contact null) {
  378.         $this->contact $contact;
  379.         return $this;
  380.     }
  381.     /**
  382.      * Get contact.
  383.      *
  384.      * @return \App\Entity\Contact|null
  385.      */
  386.     public function getContact() {
  387.         return $this->contact;
  388.     }
  389.     /**
  390.      * Set jobMarketPositionType.
  391.      *
  392.      * @param \App\Entity\JobMarketPositionType|null $jobMarketPositionType
  393.      *
  394.      * @return JobMarket
  395.      */
  396.     public function setJobMarketPositionType(\App\Entity\JobMarketPositionType $jobMarketPositionType null) {
  397.         $this->jobMarketPositionType $jobMarketPositionType;
  398.         return $this;
  399.     }
  400.     /**
  401.      * Get jobMarketPositionType.
  402.      *
  403.      * @return \App\Entity\JobMarketPositionType|null
  404.      */
  405.     public function getJobMarketPositionType() {
  406.         return $this->jobMarketPositionType;
  407.     }
  408.     /**
  409.      * Set jobMarketApplyType.
  410.      *
  411.      * @param \App\Entity\JobMarketApplyType|null $jobMarketApplyType
  412.      *
  413.      * @return JobMarket
  414.      */
  415.     public function setJobMarketApplyType(\App\Entity\JobMarketApplyType $jobMarketApplyType null) {
  416.         $this->jobMarketApplyType $jobMarketApplyType;
  417.         return $this;
  418.     }
  419.     /**
  420.      * Get jobMarketApplyType.
  421.      *
  422.      * @return \App\Entity\JobMarketApplyType|null
  423.      */
  424.     public function getJobMarketApplyType() {
  425.         return $this->jobMarketApplyType;
  426.     }
  427.     /**
  428.      * Set jobMarketStartType.
  429.      *
  430.      * @param \App\Entity\JobMarketStartType|null $jobMarketStartType
  431.      *
  432.      * @return JobMarket
  433.      */
  434.     public function setJobMarketStartType(\App\Entity\JobMarketStartType $jobMarketStartType null) {
  435.         $this->jobMarketStartType $jobMarketStartType;
  436.         return $this;
  437.     }
  438.     /**
  439.      * Get jobMarketStartType.
  440.      *
  441.      * @return \App\Entity\JobMarketStartType|null
  442.      */
  443.     public function getJobMarketStartType() {
  444.         return $this->jobMarketStartType;
  445.     }
  446.     /**
  447.      * Set user.
  448.      *
  449.      * @param \App\Entity\User|null $user
  450.      *
  451.      * @return JobMarket
  452.      */
  453.     public function setUser(\App\Entity\User $user null) {
  454.         $this->user $user;
  455.         return $this;
  456.     }
  457.     /**
  458.      * Get user.
  459.      *
  460.      * @return \App\Entity\User|null
  461.      */
  462.     public function getUser() {
  463.         return $this->user;
  464.     }
  465.     /**
  466.      * Add job.
  467.      *
  468.      * @param \App\Entity\Job $job
  469.      *
  470.      * @return JobMarket
  471.      */
  472.     public function addJob(\App\Entity\Job $job) {
  473.         $this->jobs[] = $job;
  474.         return $this;
  475.     }
  476.     /**
  477.      * Remove job.
  478.      *
  479.      * @param \App\Entity\Job $job
  480.      *
  481.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  482.      */
  483.     public function removeJob(\App\Entity\Job $job) {
  484.         return $this->jobs->removeElement($job);
  485.     }
  486.     /**
  487.      * Get jobs.
  488.      *
  489.      * @return \Doctrine\Common\Collections\Collection
  490.      */
  491.     public function getJobs() {
  492.         return $this->jobs;
  493.     }
  494.     /**
  495.      * Add address.
  496.      *
  497.      * @param \App\Entity\Address $address
  498.      *
  499.      * @return JobMarket
  500.      */
  501.     public function addAddress(\App\Entity\Address $address) {
  502.         $this->addresses[] = $address;
  503.         return $this;
  504.     }
  505.     /**
  506.      * Remove address.
  507.      *
  508.      * @param \App\Entity\Address $address
  509.      *
  510.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  511.      */
  512.     public function removeAddress(\App\Entity\Address $address) {
  513.         return $this->addresses->removeElement($address);
  514.     }
  515.     /**
  516.      * Get addresses.
  517.      *
  518.      * @return \Doctrine\Common\Collections\Collection
  519.      */
  520.     public function getAddresses() {
  521.         return $this->addresses;
  522.     }
  523.     /**
  524.      * Add jobSector.
  525.      *
  526.      * @param \App\Entity\JobSector $jobSector
  527.      *
  528.      * @return JobMarket
  529.      */
  530.     public function addJobSector(\App\Entity\JobSector $jobSector) {
  531.         $this->jobSectors[] = $jobSector;
  532.         return $this;
  533.     }
  534.     /**
  535.      * Remove jobSector.
  536.      *
  537.      * @param \App\Entity\JobSector $jobSector
  538.      *
  539.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  540.      */
  541.     public function removeJobSector(\App\Entity\JobSector $jobSector) {
  542.         return $this->jobSectors->removeElement($jobSector);
  543.     }
  544.     /**
  545.      * Get jobSectors.
  546.      *
  547.      * @return \Doctrine\Common\Collections\Collection
  548.      */
  549.     public function getJobSectors() {
  550.         return $this->jobSectors;
  551.     }
  552.     /**
  553.      * Set additionalInfo.
  554.      *
  555.      * @param string $additionalInfo
  556.      *
  557.      * @return JobMarket
  558.      */
  559.     public function setAdditionalInfo($additionalInfo) {
  560.         $this->additional_info $additionalInfo;
  561.         return $this;
  562.     }
  563.     /**
  564.      * Get additionalInfo.
  565.      *
  566.      * @return string
  567.      */
  568.     public function getAdditionalInfo() {
  569.         return $this->additional_info;
  570.     }
  571.     /**
  572.      * Set jobMarketState.
  573.      *
  574.      * @param \App\Entity\JobMarketState|null $jobMarketState
  575.      *
  576.      * @return JobMarket
  577.      */
  578.     public function setJobMarketState(\App\Entity\JobMarketState $jobMarketState null) {
  579.         $this->jobMarketState $jobMarketState;
  580.         return $this;
  581.     }
  582.     /**
  583.      * Get jobMarketState.
  584.      *
  585.      * @return \App\Entity\JobMarketState|null
  586.      */
  587.     public function getJobMarketState() {
  588.         return $this->jobMarketState;
  589.     }
  590.     /**
  591.      * Set companyProfile.
  592.      *
  593.      * @param \App\Entity\CompanyProfile|null $companyProfile
  594.      *
  595.      * @return JobMarket
  596.      */
  597.     public function setCompanyProfile(\App\Entity\CompanyProfile $companyProfile null) {
  598.         $this->companyProfile $companyProfile;
  599.         return $this;
  600.     }
  601.     /**
  602.      * Get companyProfile.
  603.      *
  604.      * @return \App\Entity\CompanyProfile|null
  605.      */
  606.     public function getCompanyProfile() {
  607.         return $this->companyProfile;
  608.     }
  609.     /*
  610.      * Get the interest fields of the company profile
  611.      * 
  612.      * multiple jobs may be attached
  613.      *    
  614.      *      */
  615.     public function getInterestFields() {
  616.         if (empty($this->jobs)) {
  617.             return array();
  618.         }
  619.         /* @var $job \App\Entity\Job */
  620.         $job $this->jobs[0];
  621.         if (empty($job)) {
  622.             return array();
  623.         }
  624.         return $job->getInterestFields();
  625.     }
  626. }