src/Entity/Offer.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\OfferRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use App\Traits\EntityDateTimeAbleTrait;
  7. use App\Traits\SeoTrait;
  8. use Doctrine\ORM\Mapping as ORM;
  9. #[ORM\Entity(repositoryClassOfferRepository::class)]
  10. #[ORM\HasLifecycleCallbacks]
  11. class Offer
  12. {
  13.     const STATUS_ACTIVE 1;
  14.     const STATUS_INACTIVE 0;
  15.     const OFFER_TYPE_PHONE 0;
  16.     const OFFER_TYPE_EMAIL 1;
  17.     const OFFER_TYPE_ALL 2;
  18.     use EntityDateTimeAbleTrait;
  19.     use SeoTrait;
  20.     #[ORM\Id]
  21.     #[ORM\GeneratedValue]
  22.     #[ORM\Column(type'integer')]
  23.     private $id;
  24.     #[ORM\Column(type'string'length255nullabletrue)]
  25.     private ?string $code null;
  26.     #[ORM\Column(type'string'length255nullabletrue)]
  27.     private ?string $logo null;
  28.     #[ORM\Column(type'string'length255nullabletrue)]
  29.     private ?string $companyName null;
  30.     #[ORM\Column(type'string'length255nullabletrue)]
  31.     private ?string $website null;
  32.     #[ORM\Column(type'text'nullabletrue)]
  33.     private ?string $presentation null;
  34.     #[ORM\Column(type'boolean'nullabletrue)]
  35.     private ?bool $gender null;
  36.     #[ORM\Column(type'string'length255nullabletrue)]
  37.     private ?string $firstName null;
  38.     #[ORM\Column(type'string'length255nullabletrue)]
  39.     private ?string $lastName null;
  40.     #[ORM\Column(type'string'length255nullabletrue)]
  41.     private ?string $position null;
  42.     #[ORM\Column(type'string'length255nullabletrue)]
  43.     private ?string $email null;
  44.     #[ORM\Column(type'string'length255nullabletrue)]
  45.     private ?string $phone null;
  46.     #[ORM\Column(type'integer'nullabletrue)]
  47.     private ?int $offerType null;
  48.     #[ORM\Column(type'string'length255nullabletrue)]
  49.     private ?string $offerTitle null;
  50.     #[ORM\ManyToOne(targetEntityContract::class, inversedBy'offers')]
  51.     private ?\App\Entity\Contract $contract null;
  52.     #[ORM\ManyToMany(targetEntityExpertise::class, inversedBy'offers')]
  53.     private Collection $expertise;
  54.     #[ORM\ManyToMany(targetEntityCampus::class, inversedBy'offers')]
  55.     private Collection $campuses;
  56.     #[ORM\ManyToOne(targetEntityStudyLevel::class, inversedBy'offers')]
  57.     private ?\App\Entity\StudyLevel $studyLevel null;
  58.     #[ORM\Column(type'string'length255nullabletrue)]
  59.     private ?string $duration null;
  60.     #[ORM\Column(type'text'nullabletrue)]
  61.     private ?string $description null;
  62.     #[ORM\Column(type'text'nullabletrue)]
  63.     private ?string $expectProfile null;
  64.     #[ORM\Column(type'datetime'nullabletrue)]
  65.     private ?\DateTimeInterface $validDate null;
  66.     #[ORM\Column(type'string'length255nullabletrue)]
  67.     private ?string $descriptionFile null;
  68.     #[ORM\ManyToMany(targetEntitySkill::class, inversedBy'offers')]
  69.     private Collection $skill;
  70.     #[ORM\Column(type'integer')]
  71.     private ?int $status null;
  72.     #[ORM\OneToMany(targetEntityJobCandidate::class, mappedBy'offer')]
  73.     private Collection $jobCandidates;
  74.     public function __construct()
  75.     {
  76.         $this->expertise = new ArrayCollection();
  77.         $this->campuses = new ArrayCollection();
  78.         $this->skill = new ArrayCollection();
  79.         $this->jobCandidates = new ArrayCollection();
  80.     }
  81.     public function getId(): ?int
  82.     {
  83.         return $this->id;
  84.     }
  85.     public function getCode(): ?string
  86.     {
  87.         return $this->code;
  88.     }
  89.     public function setCode(?string $code): self
  90.     {
  91.         $this->code $code;
  92.         return $this;
  93.     }
  94.     public function getLogo(): ?string
  95.     {
  96.         return $this->logo;
  97.     }
  98.     public function setLogo(?string $logo): self
  99.     {
  100.         $this->logo $logo;
  101.         return $this;
  102.     }
  103.     public function getCompanyName(): ?string
  104.     {
  105.         return $this->companyName;
  106.     }
  107.     public function setCompanyName(?string $companyName): self
  108.     {
  109.         $this->companyName $companyName;
  110.         return $this;
  111.     }
  112.     public function getWebsite(): ?string
  113.     {
  114.         return $this->website;
  115.     }
  116.     public function setWebsite(?string $website): self
  117.     {
  118.         $this->website $website;
  119.         return $this;
  120.     }
  121.     public function getPresentation(): ?string
  122.     {
  123.         return $this->presentation;
  124.     }
  125.     public function setPresentation(?string $presentation): self
  126.     {
  127.         $this->presentation $presentation;
  128.         return $this;
  129.     }
  130.     public function getGender(): ?bool
  131.     {
  132.         return $this->gender;
  133.     }
  134.     public function setGender(?bool $gender): self
  135.     {
  136.         $this->gender $gender;
  137.         return $this;
  138.     }
  139.     public function getFirstName(): ?string
  140.     {
  141.         return $this->firstName;
  142.     }
  143.     public function setFirstName(?string $firstName): self
  144.     {
  145.         $this->firstName $firstName;
  146.         return $this;
  147.     }
  148.     public function getLastName(): ?string
  149.     {
  150.         return $this->lastName;
  151.     }
  152.     public function setLastName(?string $lastName): self
  153.     {
  154.         $this->lastName $lastName;
  155.         return $this;
  156.     }
  157.     public function getPosition(): ?string
  158.     {
  159.         return $this->position;
  160.     }
  161.     public function setPosition(?string $position): self
  162.     {
  163.         $this->position $position;
  164.         return $this;
  165.     }
  166.     public function getEmail(): ?string
  167.     {
  168.         return $this->email;
  169.     }
  170.     public function setEmail(?string $email): self
  171.     {
  172.         $this->email $email;
  173.         return $this;
  174.     }
  175.     public function getPhone(): ?string
  176.     {
  177.         return $this->phone;
  178.     }
  179.     public function setPhone(?string $phone): self
  180.     {
  181.         $this->phone $phone;
  182.         return $this;
  183.     }
  184.     public function getOfferType(): ?int
  185.     {
  186.         return $this->offerType;
  187.     }
  188.     public function setOfferType(?int $offerType): self
  189.     {
  190.         $this->offerType $offerType;
  191.         return $this;
  192.     }
  193.     public function getOfferTitle(): ?string
  194.     {
  195.         return $this->offerTitle;
  196.     }
  197.     public function setOfferTitle(?string $offerTitle): self
  198.     {
  199.         $this->offerTitle $offerTitle;
  200.         return $this;
  201.     }
  202.     public function getContract(): ?Contract
  203.     {
  204.         return $this->contract;
  205.     }
  206.     public function setContract(?Contract $contract): self
  207.     {
  208.         $this->contract $contract;
  209.         return $this;
  210.     }
  211.     /**
  212.      * @return Collection<int, Expertise>
  213.      */
  214.     public function getExpertise(): Collection
  215.     {
  216.         return $this->expertise;
  217.     }
  218.     public function addExpertise(Expertise $expertise): self
  219.     {
  220.         if (!$this->expertise->contains($expertise)) {
  221.             $this->expertise[] = $expertise;
  222.         }
  223.         return $this;
  224.     }
  225.     public function removeExpertise(Expertise $expertise): self
  226.     {
  227.         $this->expertise->removeElement($expertise);
  228.         return $this;
  229.     }
  230.     /**
  231.      * @return Collection|Campus[]
  232.      */
  233.     public function getCampuses(): Collection
  234.     {
  235.         return $this->campuses;
  236.     }
  237.     public function addCampus(Campus $campus): self
  238.     {
  239.         if (!$this->campuses->contains($campus)) {
  240.             $this->campuses[] = $campus;
  241.         }
  242.         return $this;
  243.     }
  244.     public function removeCampus(Campus $campus): self
  245.     {
  246.         $this->campuses->removeElement($campus);
  247.         return $this;
  248.     }
  249.     public function getStudyLevel(): ?StudyLevel
  250.     {
  251.         return $this->studyLevel;
  252.     }
  253.     public function setStudyLevel(?StudyLevel $studyLevel): self
  254.     {
  255.         $this->studyLevel $studyLevel;
  256.         return $this;
  257.     }
  258.     public function getDuration(): ?string
  259.     {
  260.         return $this->duration;
  261.     }
  262.     public function setDuration(?string $duration): self
  263.     {
  264.         $this->duration $duration;
  265.         return $this;
  266.     }
  267.     public function getDescription(): ?string
  268.     {
  269.         return $this->description;
  270.     }
  271.     public function setDescription(?string $description): self
  272.     {
  273.         $this->description $description;
  274.         return $this;
  275.     }
  276.     public function getExpectProfile(): ?string
  277.     {
  278.         return $this->expectProfile;
  279.     }
  280.     public function setExpectProfile(?string $expectProfile): self
  281.     {
  282.         $this->expectProfile $expectProfile;
  283.         return $this;
  284.     }
  285.     public function getValidDate(): ?\DateTimeInterface
  286.     {
  287.         return $this->validDate;
  288.     }
  289.     public function setValidDate(?\DateTimeInterface $validDate): self
  290.     {
  291.         $this->validDate $validDate;
  292.         return $this;
  293.     }
  294.     public function getDescriptionFile(): ?string
  295.     {
  296.         return $this->descriptionFile;
  297.     }
  298.     public function setDescriptionFile(?string $descriptionFile): self
  299.     {
  300.         $this->descriptionFile $descriptionFile;
  301.         return $this;
  302.     }
  303.     /**
  304.      * @return Collection<int, Skill>
  305.      */
  306.     public function getSkill(): Collection
  307.     {
  308.         return $this->skill;
  309.     }
  310.     public function addSkill(Skill $skill): self
  311.     {
  312.         if (!$this->skill->contains($skill)) {
  313.             $this->skill[] = $skill;
  314.         }
  315.         return $this;
  316.     }
  317.     public function removeSkill(Skill $skill): self
  318.     {
  319.         $this->skill->removeElement($skill);
  320.         return $this;
  321.     }
  322.     public function getStatus(): ?int
  323.     {
  324.         return $this->status;
  325.     }
  326.     public function setStatus(int $status): self
  327.     {
  328.         $this->status $status;
  329.         return $this;
  330.     }
  331.     /**
  332.      * @return Collection<int, JobCandidate>
  333.      */
  334.     public function getJobCandidates(): Collection
  335.     {
  336.         return $this->jobCandidates;
  337.     }
  338.     public function addJobCandidate(JobCandidate $jobCandidate): self
  339.     {
  340.         if (!$this->jobCandidates->contains($jobCandidate)) {
  341.             $this->jobCandidates[] = $jobCandidate;
  342.             $jobCandidate->setOffer($this);
  343.         }
  344.         return $this;
  345.     }
  346.     public function removeJobCandidate(JobCandidate $jobCandidate): self
  347.     {
  348.         if ($this->jobCandidates->removeElement($jobCandidate)) {
  349.             // set the owning side to null (unless already changed)
  350.             if ($jobCandidate->getOffer() === $this) {
  351.                 $jobCandidate->setOffer(null);
  352.             }
  353.         }
  354.         return $this;
  355.     }
  356. }