<?php
// src/Acme/UserBundle/Entity/User.php
namespace App\Entity;
use Knp\DoctrineBehaviors\Contract\Entity\SoftDeletableInterface;
use Knp\DoctrineBehaviors\Model\SoftDeletable\SoftDeletableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\TimestampableInterface;
use Knp\DoctrineBehaviors\Model\Timestampable\TimestampableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\BlameableInterface;
use Knp\DoctrineBehaviors\Model\Blameable\BlameableTrait;
use App\Model\LangParamInterface;
use App\Model\LangParamRelationInterface;
use Doctrine\ORM\Mapping as ORM;
/**
* @Doctrine\ORM\Mapping\Entity
* @Doctrine\ORM\Mapping\Table(name="product_lang_param")
*/
class ProductLangParam implements LangParamRelationInterface, BlameableInterface, TimestampableInterface, SoftDeletableInterface {
use BlameableTrait;
use TimestampableTrait;
use SoftDeletableTrait;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Product", inversedBy="langParams")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
*/
protected $product;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Language")
* @ORM\JoinColumn(name="language", referencedColumnName="id")
*/
protected $language;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $visible = true;
/**
* @var string
*
* @ORM\Column(name="price_description", type="text", nullable=true)
*/
private $priceDescription;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $promotion = false;
/**
* @Doctrine\ORM\Mapping\Column(name="is_new", type="boolean", nullable=true)
*/
protected $new = false;
/**
* @Doctrine\ORM\Mapping\Column(name="bestseller", type="boolean", nullable=true)
*/
protected $bestseller = false;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $promoteOneHomepage = false;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $readyForPublication = false;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", nullable=true)
*/
protected $sale = false;
/**
* @Doctrine\ORM\Mapping\Column(name="rating_value", type="float", nullable=true)
*/
protected $ratingValue;
/**
* @Doctrine\ORM\Mapping\Column(name="review_count", type="float", nullable=true)
*/
protected $reviewCount;
/**
* @Doctrine\ORM\Mapping\Column(name="price_change", type="float", nullable=true)
*/
protected $priceChange;
/**
* @Doctrine\ORM\Mapping\Column(name="priority", type="integer", nullable=true)
*/
protected $priority;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\ProductVat", cascade={"all"})
* @ORM\JoinColumn(name="vat_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $vat;
/**
* @ORM\Column(name="price_crossed", type="text", nullable=true)
*/
protected $priceCrossed;
/**
* @ORM\Column(name="omnibus_price", type="text", nullable=true)
*/
protected $omnibusPrice;
/**
* @Doctrine\ORM\Mapping\Column(name="promotion_icon", type="boolean", options={"default"=0}, nullable=true)
*/
protected $promotionIcon;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Availability", cascade={"all"})
* @ORM\JoinColumn(name="availability_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $availability;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\ProductProducer", cascade={"all"})
* @ORM\JoinColumn(name="product_producer_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $productProducer;
/**
* Net price!
* @Doctrine\ORM\Mapping\Column(type="decimal", precision=10, scale=2, nullable=true, name="promo_price")
*/
protected $promoPrice;
public function getProductProducer(): ?ProductProducer
{
return $this->productProducer;
}
public function setProductProducer(?ProductProducer $productProducer): self
{
$this->productProducer = $productProducer;
return $this;
}
/**
* @return mixed
*/
public function getPromotionIcon()
{
return $this->promotionIcon;
}
/**
* @param mixed $promotionIcon
*/
public function setPromotionIcon($promotionIcon)
{
$this->promotionIcon = $promotionIcon;
}
/**
* @return mixed
*/
public function getPriceCrossed()
{
return $this->priceCrossed;
}
/**
* @param mixed $priceCrossed
*/
public function setPriceCrossed($priceCrossed): void
{
$this->priceCrossed = $priceCrossed;
}
public function getId(): ?int
{
return $this->id;
}
public function getLanguage(): ?Language
{
return $this->language;
}
public function setLanguage(?Language $language): self
{
$this->language = $language;
return $this;
}
public function getVisible(): ?bool
{
return $this->visible;
}
public function setVisible(?bool $visible): self
{
$this->visible = $visible;
return $this;
}
public function getPromotion(): ?bool
{
return $this->promotion;
}
public function setPromotion(?bool $promotion): self
{
$this->promotion = $promotion;
return $this;
}
public function getPromoteOneHomepage(): ?bool
{
return $this->promoteOneHomepage;
}
public function setPromoteOneHomepage(?bool $promoteOneHomepage): self
{
$this->promoteOneHomepage = $promoteOneHomepage;
return $this;
}
public function getSale(): ?bool
{
return $this->sale;
}
public function setSale(?bool $sale): self
{
$this->sale = $sale;
return $this;
}
public function getRatingValue(): ?float
{
return $this->ratingValue;
}
public function setRatingValue(?float $ratingValue): self
{
$this->ratingValue = $ratingValue;
return $this;
}
public function getReviewCount(): ?float
{
return $this->reviewCount;
}
public function setReviewCount(?float $reviewCount): self
{
$this->reviewCount = $reviewCount;
return $this;
}
public function getProduct(): ?Product
{
return $this->product;
}
public function setProduct(?Product $product): self
{
$this->product = $product;
return $this;
}
public function getVat(): ?ProductVat
{
return $this->vat;
}
public function setVat(?ProductVat $vat): self
{
$this->vat = $vat;
return $this;
}
public function getNew(): ?bool
{
return $this->new;
}
public function setNew(?bool $new): self
{
$this->new = $new;
return $this;
}
public function getBestseller(): ?bool
{
return $this->bestseller;
}
public function setBestseller(?bool $bestseller): self
{
$this->bestseller = $bestseller;
return $this;
}
public function getPriority(): ?int
{
return $this->priority;
}
public function setPriority(?int $priority): self
{
$this->priority = $priority;
return $this;
}
public function getPriceDescription(): ?string
{
return $this->priceDescription;
}
public function setPriceDescription(?string $priceDescription): self
{
$this->priceDescription = $priceDescription;
return $this;
}
public function getAvailability(): ?Availability
{
return $this->availability;
}
public function setAvailability(?Availability $availability): self
{
$this->availability = $availability;
return $this;
}
/**
* @return mixed
*/
public function getOmnibusPrice()
{
return $this->omnibusPrice;
}
/**
* @param mixed $omnibusPrice
*/
public function setOmnibusPrice($omnibusPrice): void
{
$this->omnibusPrice = $omnibusPrice;
}
/**
* @return mixed
*/
public function getPriceChange()
{
return $this->priceChange;
}
/**
* @param mixed $priceChange
*/
public function setPriceChange($priceChange): void
{
$this->priceChange = $priceChange;
}
/**
* @return bool
*/
public function isReadyForPublication()
{
return $this->readyForPublication;
}
/**
* @param bool $readyForPublication
*/
public function setReadyForPublication($readyForPublication)
{
$this->readyForPublication = $readyForPublication;
}
public function getReadyForPublication(): ?bool
{
return $this->readyForPublication;
}
/**
* @return mixed
*/
public function getPromoPrice()
{
return $this->promoPrice;
}
/**
* @param mixed $promoPrice
*/
public function setPromoPrice($promoPrice): void
{
$this->promoPrice = $promoPrice;
}
}