<?php
namespace App\Entity;
use App\Entity\Traits\CommonTrait;
use App\Repository\ItemPromotionRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity(repositoryClass=ItemPromotionRepository::class)
* @ORM\Table(name="item_promo")
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity({"uuid"})
*/
class ItemPromotion
{
use CommonTrait;
const LIST_BIG_PROMO = 'LIST_BIG_PROMO';
const HOME_PROMO = 'HOME_PROMO';
const TOP_LIST_PROMO = 'TOP_LIST_PROMO';
const LIST_SHADOW_PROMO = 'LIST_SHADOW_PROMO';
const LIST_URGENT = 'LIST_URGENT';
const PROMOTIONS = [
'Wyróżenienie (duże zdjęcie)' => self::LIST_BIG_PROMO,
'Oferta na stronie głównej' => self::HOME_PROMO,
'Złota ramka' => self::LIST_SHADOW_PROMO,
'Promowanie - wyróżnienie na górze listy wyników' => self::TOP_LIST_PROMO,
'Etykieta (Pilne)' => self::LIST_URGENT,
'' => ''
];
const PROMOTIONS_NAMES = [
self::LIST_BIG_PROMO => 'Wyróżenienie (duże zdjęcie)',
self::HOME_PROMO => 'Oferta na stronie głównej',
self::LIST_SHADOW_PROMO => 'Złota ramka',
self::TOP_LIST_PROMO => 'Promowanie - wyróżnienie na górze listy wyników',
self::LIST_URGENT => 'Etykieta (Pilne)',
'' => '-- --'
];
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $description;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $uKey;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $duration;
/**
* @ORM\Column(type="decimal", precision=10, scale=2)
*/
private $defaultPrice;
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 getUKey(): ?string
{
return $this->uKey;
}
public function setUKey(?string $uKey): self
{
$this->uKey = $uKey;
return $this;
}
public function getDuration(): ?string
{
return $this->duration;
}
public function setDuration(?int $duration): self
{
$this->duration = $duration;
return $this;
}
public function getDefaultPrice(): ?string
{
return $this->defaultPrice;
}
public function setDefaultPrice(string $defaultPrice): self
{
$this->defaultPrice = $defaultPrice;
return $this;
}
public function __toString() {
return $this->name;
}
}