<?phpnamespace App\Entity;use App\Repository\AffiliatedEventApplicationRepository;use Doctrine\ORM\Mapping as ORM;use Gedmo\Mapping\Annotation as Gedmo;/** * @ORM\Entity(repositoryClass=AffiliatedEventApplicationRepository::class) */class AffiliatedEventApplication{ const STATUS_PENDING = 'pending'; // the event is open to acquire a specialist const STATUS_ACCEPTED = 'accepted'; // the event has a specialist const STATUS_REFUSED = 'refused'; // the event is canceled const STATUSES = [ self::STATUS_PENDING, self::STATUS_ACCEPTED, self::STATUS_REFUSED, ]; /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\ManyToOne(targetEntity=Event::class, inversedBy="affiliatedEventApplications") * @ORM\JoinColumn(nullable=false) */ private $event; /** * @ORM\ManyToOne(targetEntity=Specialist::class, inversedBy="affiliatedEventApplications") * @ORM\JoinColumn(nullable=false) */ private $specialist; /** * @ORM\Column(type="string", length=255, nullable=true) */ private $status; /** * @ORM\Column(type="text", nullable=true) */ private $reasonToCompany; /** * @ORM\Column(type="datetime") * @Gedmo\Timestampable(on="create") */ private $createdAt; /** * @ORM\Column(type="datetime") * @Gedmo\Timestampable(on="update") */ private $updatedAt; /** * @ORM\ManyToOne(targetEntity=Company::class, inversedBy="affiliatedEventApplications") */ private $company; public function getId(): ?int { return $this->id; } public function getEvent(): ?Event { return $this->event; } public function setEvent(?Event $event): self { $this->event = $event; return $this; } public function getSpecialist(): ?Specialist { return $this->specialist; } public function setSpecialist(?Specialist $specialist): self { $this->specialist = $specialist; return $this; } public function getStatus(): ?string { return $this->status; } public function setStatus(?string $status): self { $this->status = $status; return $this; } public function getReasonToCompany(): ?string { return $this->reasonToCompany; } public function setReasonToCompany(?string $reasonToCompany): self { $this->reasonToCompany = $reasonToCompany; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } public function setCreatedAt(\DateTimeImmutable $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?\DateTimeImmutable { return $this->updatedAt; } public function setUpdatedAt(\DateTimeImmutable $updatedAt): self { $this->updatedAt = $updatedAt; return $this; } public function getCompany(): ?Company { return $this->company; } public function setCompany(?Company $company): self { $this->company = $company; return $this; }}