<?php
namespace App\Entity;
use App\Repository\ProjectUpdateTypeNominationRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
#[ORM\Entity(repositoryClass: ProjectUpdateTypeNominationRepository::class)]
#[Vich\Uploadable]
class ProjectUpdateTypeNomination
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $name = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $date = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $image = null;
#[Vich\UploadableField(mapping:'project_update_images', fileNameProperty:'image')]
private $imageFile;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeNominations')]
private ?FilmProjectUpdate $filmProjectUpdate = null;
#[ORM\ManyToOne(inversedBy: 'releaseUpdates')]
private ?FilmProjectUpdate $updateReleaseFilmProject = null;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeEvents')]
private ?FilmProjectUpdate $eventFilmProjectUpdate = null;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeResources')]
private ?FilmProjectUpdate $resourceFilmProjectUpdate = null;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeResponse')]
private ?FilmProjectUpdate $responseFilmProjectUpdate = null;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeInvolves')]
private ?FilmProjectUpdate $involveFilmProjectUpdate = null;
#[ORM\ManyToOne(inversedBy: 'projectUpdateTypeOthers')]
private ?FilmProjectUpdate $otherFilmProjectUpdate = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $confirmedBroadcaster = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $distributor = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $streamingService = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $upcomingEvent = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $eventBroadcast = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $cinemaRelease = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $studyGuide = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $educationalDistributor = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $media = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $audienceResponse = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $generalTitle = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $generalDescription = null;
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(?\DateTimeInterface $date): self
{
$this->date = $date;
return $this;
}
public function getImage(): ?string
{
return $this->image;
}
public function setImage(?string $image): self
{
$this->image = $image;
return $this;
}
public function getImageFile()
{
return $this->imageFile;
}
public function setImageFile(File $image = null)
{
$this->imageFile = $image;
}
public function getImageUrl(): ?string
{
$url = '';
if ($this->image) {
$url = '/uploads/projects/updates/' . $this->image;
}
return $url;
}
public function getFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->filmProjectUpdate;
}
public function setFilmProjectUpdate(?FilmProjectUpdate $filmProjectUpdate): self
{
$this->filmProjectUpdate = $filmProjectUpdate;
return $this;
}
public function __toString()
{
if ($this->name) {
return $this->name;
}
return '';
}
public function getUpdateReleaseFilmProject(): ?FilmProjectUpdate
{
return $this->updateReleaseFilmProject;
}
public function setUpdateReleaseFilmProject(?FilmProjectUpdate $updateReleaseFilmProject): self
{
$this->updateReleaseFilmProject = $updateReleaseFilmProject;
return $this;
}
public function getEventFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->eventFilmProjectUpdate;
}
public function setEventFilmProjectUpdate(?FilmProjectUpdate $eventFilmProjectUpdate): self
{
$this->eventFilmProjectUpdate = $eventFilmProjectUpdate;
return $this;
}
public function getResourceFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->resourceFilmProjectUpdate;
}
public function setResourceFilmProjectUpdate(?FilmProjectUpdate $resourceFilmProjectUpdate): self
{
$this->resourceFilmProjectUpdate = $resourceFilmProjectUpdate;
return $this;
}
public function getResponseFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->responseFilmProjectUpdate;
}
public function setResponseFilmProjectUpdate(?FilmProjectUpdate $responseFilmProjectUpdate): self
{
$this->responseFilmProjectUpdate = $responseFilmProjectUpdate;
return $this;
}
public function getInvolveFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->involveFilmProjectUpdate;
}
public function setInvolveFilmProjectUpdate(?FilmProjectUpdate $involveFilmProjectUpdate): self
{
$this->involveFilmProjectUpdate = $involveFilmProjectUpdate;
return $this;
}
public function getOtherFilmProjectUpdate(): ?FilmProjectUpdate
{
return $this->otherFilmProjectUpdate;
}
public function setOtherFilmProjectUpdate(?FilmProjectUpdate $otherFilmProjectUpdate): self
{
$this->otherFilmProjectUpdate = $otherFilmProjectUpdate;
return $this;
}
public function getConfirmedBroadcaster(): ?string
{
return $this->confirmedBroadcaster;
}
public function setConfirmedBroadcaster(?string $confirmedBroadcaster): self
{
$this->confirmedBroadcaster = $confirmedBroadcaster;
return $this;
}
public function getDistributor(): ?string
{
return $this->distributor;
}
public function setDistributor(?string $distributor): self
{
$this->distributor = $distributor;
return $this;
}
public function getStreamingService(): ?string
{
return $this->streamingService;
}
public function setStreamingService(?string $streamingService): self
{
$this->streamingService = $streamingService;
return $this;
}
public function getUpcomingEvent(): ?string
{
return $this->upcomingEvent;
}
public function setUpcomingEvent(?string $upcomingEvent): self
{
$this->upcomingEvent = $upcomingEvent;
return $this;
}
public function getEventBroadcast(): ?string
{
return $this->eventBroadcast;
}
public function setEventBroadcast(?string $eventBroadcast): self
{
$this->eventBroadcast = $eventBroadcast;
return $this;
}
public function getCinemaRelease(): ?string
{
return $this->cinemaRelease;
}
public function setCinemaRelease(?string $cinemaRelease): self
{
$this->cinemaRelease = $cinemaRelease;
return $this;
}
public function getStudyGuide(): ?string
{
return $this->studyGuide;
}
public function setStudyGuide(?string $studyGuide): self
{
$this->studyGuide = $studyGuide;
return $this;
}
public function getEducationalDistributor(): ?string
{
return $this->educationalDistributor;
}
public function setEducationalDistributor(?string $educationalDistributor): self
{
$this->educationalDistributor = $educationalDistributor;
return $this;
}
public function getMedia(): ?string
{
return $this->media;
}
public function setMedia(?string $media): self
{
$this->media = $media;
return $this;
}
public function getAudienceResponse(): ?string
{
return $this->audienceResponse;
}
public function setAudienceResponse(?string $audienceResponse): self
{
$this->audienceResponse = $audienceResponse;
return $this;
}
public function getGeneralTitle(): ?string
{
return $this->generalTitle;
}
public function setGeneralTitle(?string $generalTitle): self
{
$this->generalTitle = $generalTitle;
return $this;
}
public function getGeneralDescription(): ?string
{
return $this->generalDescription;
}
public function setGeneralDescription(?string $generalDescription): self
{
$this->generalDescription = $generalDescription;
return $this;
}
}