<?php
namespace App\Entity;
use App\Repository\CoregistrationCampaignRepository;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @ORM\Entity(repositoryClass=CoregistrationCampaignRepository::class)
* @Vich\Uploadable
*/
class CoregistrationCampaign
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private int $id;
/**
* @ORM\Column(type="string", length=255)
*/
private string $name;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $description;
/**
* @ORM\Column(type="integer")
*/
private int $mediaoptinCampaignId;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $criteriaAge;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $criteriaZipCode;
/**
* @ORM\Column(type="boolean")
*/
private bool $enabled;
/**
* @ORM\Column(type="string", length=255)
*/
private string $advertiserName;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $advertiserLogoPath=null;
/**
* @assert\File( mimeTypes = {"image/jpeg", "image/png", "image/gif", "image/jpg","image/webp"})
* @Vich\UploadableField(mapping="coregistration_campaign_advertiser_logo", fileNameProperty="advertiserLogoPath")
* @var File
*/
private $advertiserLogoFile;
/**
* @ORM\Column(type="datetime", nullable=true)
* @Gedmo\Timestampable(on="update")
*/
private DateTime $updatedAt;
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 getDescription(): ?string
{
return $this->description;
}
public function setDescription(string $description): self
{
$this->description = $description;
return $this;
}
public function getMediaoptinCampaignId(): ?int
{
return $this->mediaoptinCampaignId;
}
public function setMediaoptinCampaignId(int $mediaoptinCampaignId): self
{
$this->mediaoptinCampaignId = $mediaoptinCampaignId;
return $this;
}
public function getCriteriaAge(): ?string
{
return $this->criteriaAge;
}
public function setCriteriaAge(?string $criteriaAge): self
{
$this->criteriaAge = $criteriaAge;
return $this;
}
public function getCriteriaZipCode(): ?string
{
return $this->criteriaZipCode;
}
public function setCriteriaZipCode(?string $criteriaZipCode): self
{
$this->criteriaZipCode = $criteriaZipCode;
return $this;
}
public function isEnabled(): ?bool
{
return $this->enabled;
}
public function setEnabled(bool $enabled): self
{
$this->enabled = $enabled;
return $this;
}
public function getAdvertiserName(): ?string
{
return $this->advertiserName;
}
public function setAdvertiserName(string $advertiserName): self
{
$this->advertiserName = $advertiserName;
return $this;
}
public function getAdvertiserLogoPath(): ?string
{
return $this->advertiserLogoPath;
}
public function setAdvertiserLogoPath(?string $logoPath): self
{
$this->advertiserLogoPath = $logoPath;
return $this;
}
public function setAdvertiserLogoFile(File $logoPath = null)
{
$this->advertiserLogoFile = $logoPath;
if($logoPath){
$this->updatedAt = new DateTime('now');
}
}
public function getAdvertiserLogoFile(): ?File
{
return $this->advertiserLogoFile;
}
}