<?php
namespace App\Entity\Gos;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* GoogleMerchantFeed
*
* @ORM\Table(name="google_merchant_feed")
* @ORM\Entity(repositoryClass="App\Repository\GoogleMerchantFeedRepository")
* @Vich\Uploadable
*/
class GoogleMerchantFeed
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=150, nullable=true)
*/
private $title;
/**
* @var string
*
* @ORM\Column(name="title_sm", type="string", length=150, nullable=true)
*/
private $titleSM;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @var string
*
* @ORM\Column(name="description_sm", type="text", nullable=true)
*/
private $descriptionSM;
/**
* @var string
*
* @ORM\Column(name="parameters_sm", type="string", length=255, nullable=true)
*/
private $parametersSM;
/**
* @var string
*
* @ORM\Column(name="link", type="string", length=255, nullable=true)
*/
private $link;
/**
* @var string
*
* @ORM\Column(name="link_gm", type="string", length=255, nullable=true)
*/
private $linkGM;
/**
* @var string
*
* @ORM\Column(name="parameters_fb", type="string", length=255, nullable=true)
*/
private $parametersFB;
/**
* @var string
*
* @ORM\Column(name="image", type="string", length=255, nullable=true)
*/
private $image;
/**
* @var File
*
* @Vich\UploadableField(mapping="product_images", fileNameProperty="image")
*/
private $imageFile;
/**
* @var string
*
* @ORM\Column(name="additional_image", type="string", length=255, nullable=true)
*/
private $additionalImage;
/**
* @var File
*
* @Vich\UploadableField(mapping="product_images", fileNameProperty="additionalImage")
*/
private $additionalImageFile;
/**
* @var string
*
* @ORM\Column(name="mobile_image", type="string", length=255, nullable=true)
*/
private $mobileImage;
/**
* @var File
*
* @Vich\UploadableField(mapping="product_images", fileNameProperty="mobileImage")
*/
private $mobileImageFile;
/**
* @var string
*
* @ORM\Column(name="brand", type="string", length=255, nullable=true)
*/
private $brand;
/**
* @var string
*
* @ORM\Column(name="brand_sm", type="string", length=255, nullable=true)
*/
private $brandSM;
/**
* @var string
*
* @ORM\Column(name="product_condition", type="string", length=25, nullable=true)
*/
private $productCondition;
/**
* @var bool
*
* @ORM\Column(name="adult", type="boolean", nullable=true)
*/
private $adult;
/**
* @var string
*
* @ORM\Column(name="excluded_destination", type="string", length=25, nullable=true)
*/
private $excludedDestination;
/**
* @var string
*
* @ORM\Column(name="included_destination", type="string", length=25, nullable=true)
*/
private $includedDestination;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\GoogleMerchantTag", inversedBy="customLabels0")
*/
private $customLabel0;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\GoogleMerchantTag", inversedBy="customLabels1")
*/
private $customLabel1;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\GoogleMerchantTag", inversedBy="customLabels2")
*/
private $customLabel2;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\GoogleMerchantTag", inversedBy="customLabels3")
*/
private $customLabel3;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\GoogleMerchantTag", inversedBy="customLabels4")
*/
private $customLabel4;
/**
* @var string
*
* @ORM\Column(name="promotion_id", type="string", length=50, nullable=true)
*/
private $promotionId;
/**
* @var string
*
* @ORM\Column(name="gtin", type="string", length=50, nullable=true)
*/
private $gtin;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
/**
* @var boolean
*
* @ORM\Column(name="isActive", type="boolean")
*/
private $isActive;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Gos\Product", inversedBy="googleMerchantFeed")
*/
private $product;
/**
* @ORM\ManyToOne(
* targetEntity="App\Entity\Gos\GoogleMerchantCategory",
* inversedBy="googleMerchantFeed",
* cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $googleMerchantCategory;
/**
* @var string
*
* @ORM\Column(name="google_merchant_category_sm", type="string", length=255, nullable=true)
*/
private $googleMerchantCategorySM;
/**
* @var string
*
* @ORM\Column(name="google_merchant_subcategory_sm", type="string", length=512, nullable=true)
*/
private $googleMerchantSubcategorySM;
/**
* @ORM\ManyToOne(
* targetEntity="App\Entity\Gos\GoogleMerchantProductType",
* inversedBy="googleMerchantFeed",
* cascade={"persist"})
*/
private $googleMerchantProductType;
/**
* @var boolean
*
* @ORM\Column(name="is_uniqskills", type="boolean", nullable=true, options={"default": 0})
*/
private $isUniqskills;
/**
* @var boolean
*
* @ORM\Column(name="is_latino", type="boolean", nullable=true, options={"default": 0})
*/
private $isLatino;
/**
* @var int
*
* @ORM\Column(name="uniqskills_id", type="integer", nullable=true, options={"default": null})
*/
private $uniqskillsId;
/**
* @var string
*
* @ORM\Column(name="productURL", type="string", length=512, nullable=true)
*/
private $productURL;
/**
* @var string
*
* @ORM\Column(name="graphicsURL", type="string", length=512, nullable=true)
*/
private $graphicsURL;
/**
* @var string
*
* @ORM\Column(name="categoryURL", type="string", length=512, nullable=true)
*/
private $categoryURL;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\ProductVariant", mappedBy="googleMerchantFeed")
*/
private $associatedVariants;
public function __construct()
{
$this->associatedVariants = new ArrayCollection();
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
*
* @return GoogleMerchantFeed
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set titleSM
*
* @param string $titleSM
*
* @return GoogleMerchantFeed
*/
public function setTitleSM($titleSM)
{
$this->titleSM = $titleSM;
return $this;
}
/**
* Get titleSM
*
* @return string
*/
public function getTitleSM()
{
return $this->titleSM;
}
/**
* Set description
*
* @param string $description
*
* @return GoogleMerchantFeed
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set descriptionSM
*
* @param string $descriptionSM
*
* @return GoogleMerchantFeed
*/
public function setDescriptionSM($descriptionSM)
{
$this->descriptionSM = $descriptionSM;
return $this;
}
/**
* Get descriptionSM
*
* @return string
*/
public function getDescriptionSM()
{
return $this->descriptionSM;
}
/**
* Set parametersSM
*
* @param string $parametersSM
*
* @return GoogleMerchantFeed
*/
public function setParametersSM($parametersSM)
{
$this->parametersSM = $parametersSM;
return $this;
}
/**
* Get parametersSM
*
* @return string
*/
public function getParametersSM()
{
return $this->parametersSM;
}
/**
* Set link
*
* @param string $link
*
* @return GoogleMerchantFeed
*/
public function setLink($link)
{
$this->link = $link;
return $this;
}
/**
* Get link
*
* @return string
*/
public function getLink()
{
return $this->link;
}
/**
* Set linkGM
*
* @param string $linkGM
*
* @return GoogleMerchantFeed
*/
public function setLinkGM($linkGM)
{
$this->linkGM = $linkGM;
return $this;
}
/**
* Get linkGM
*
* @return string
*/
public function getLinkGM()
{
return $this->linkGM;
}
/**
* Set parametersFB
*
* @param string $parametersFB
*
* @return GoogleMerchantFeed
*/
public function setParametersFB($parametersFB)
{
$this->parametersFB = $parametersFB;
return $this;
}
/**
* Get parametersFB
*
* @return string
*/
public function getParametersFB()
{
return $this->parametersFB;
}
/**
* Set image
*
* @param string $image
*
* @return GoogleMerchantFeed
*/
public function setImage($image)
{
$this->image = $image;
return $this;
}
/**
* Get image
*
* @return string
*/
public function getImage()
{
return $this->image;
}
public function setImageFile(File $image = null)
{
$this->imageFile = $image;
// VERY IMPORTANT:
// It is required that at least one field changes if you are using Doctrine,
// otherwise the event listeners won't be called and the file is lost
if ($image)
{
// if 'updatedAt' is not defined in your entity, use another property
$this->updatedAt = new \DateTime('now');
}
}
public function getImageFile()
{
return $this->imageFile;
}
/**
* Set additionalImage
*
* @param string $additionalImage
*
* @return GoogleMerchantFeed
*/
public function setAdditionalImage($additionalImage)
{
$this->additionalImage = $additionalImage;
return $this;
}
/**
* Get additionalImage
*
* @return string
*/
public function getAdditionalImage()
{
return $this->additionalImage;
}
public function setAdditionalImageFile(File $image = null)
{
$this->additionalImageFile = $image;
// VERY IMPORTANT:
// It is required that at least one field changes if you are using Doctrine,
// otherwise the event listeners won't be called and the file is lost
if ($image)
{
// if 'updatedAt' is not defined in your entity, use another property
$this->updatedAt = new \DateTime('now');
}
}
public function getAdditionalImageFile()
{
return $this->additionalImageFile;
}
/**
* Set mobileImage
*
* @param string $mobileImage
*
* @return GoogleMerchantFeed
*/
public function setMobileImage($mobileImage)
{
$this->mobileImage = $mobileImage;
return $this;
}
/**
* Get mobileImage
*
* @return string
*/
public function getMobileImage()
{
return $this->mobileImage;
}
public function setMobileImageFile(File $image = null)
{
$this->mobileImageFile = $image;
// VERY IMPORTANT:
// It is required that at least one field changes if you are using Doctrine,
// otherwise the event listeners won't be called and the file is lost
if ($image)
{
// if 'updatedAt' is not defined in your entity, use another property
$this->updatedAt = new \DateTime('now');
}
}
public function getMobileImageFile()
{
return $this->mobileImageFile;
}
/**
* Set brand
*
* @param string $brand
*
* @return GoogleMerchantFeed
*/
public function setBrand($brand)
{
$this->brand = $brand;
return $this;
}
/**
* Get brand
*
* @return string
*/
public function getBrand()
{
return $this->brand;
}
/**
* Set brandSM
*
* @param string $brandSM
*
* @return GoogleMerchantFeed
*/
public function setBrandSM($brandSM)
{
$this->brandSM = $brandSM;
return $this;
}
/**
* Get brandSM
*
* @return string
*/
public function getBrandSM()
{
return $this->brandSM;
}
/**
* Set productCondition
*
* @param string $productCondition
*
* @return GoogleMerchantFeed
*/
public function setProductCondition($productCondition)
{
$this->productCondition = $productCondition;
return $this;
}
/**
* Get productCondition
*
* @return string
*/
public function getProductCondition()
{
return $this->productCondition;
}
/**
* Set adult
*
* @param boolean $adult
*
* @return GoogleMerchantFeed
*/
public function setAdult($adult)
{
$this->adult = $adult;
return $this;
}
/**
* Get adult
*
* @return bool
*/
public function getAdult()
{
return $this->adult;
}
/**
* Set excludedDestination
*
* @param string $excludedDestination
*
* @return GoogleMerchantFeed
*/
public function setExcludedDestination($excludedDestination)
{
$this->excludedDestination = $excludedDestination;
return $this;
}
/**
* Get excludedDestination
*
* @return string
*/
public function getExcludedDestination()
{
return $this->excludedDestination;
}
/**
* Set includedDestination
*
* @param string $includedDestination
*
* @return GoogleMerchantFeed
*/
public function setIncludedDestination($includedDestination)
{
$this->includedDestination = $includedDestination;
return $this;
}
/**
* Get includedDestination
*
* @return string
*/
public function getIncludedDestination()
{
return $this->includedDestination;
}
/**
* Set customLabel0
*
* @param \App\Entity\Gos\GoogleMerchantTag $googleMerchantTag
*
* @return GoogleMerchantFeed
*/
public function setCustomLabel0(\App\Entity\Gos\GoogleMerchantTag $googleMerchantTag = null)
{
$this->customLabel0 = $googleMerchantTag;
return $this;
}
/**
* Get customLabel0
*
* @return \App\Entity\Gos\GoogleMerchantTag
*/
public function getCustomLabel0()
{
return $this->customLabel0;
}
/**
* Set customLabel1
*
* @param \App\Entity\Gos\GoogleMerchantTag $googleMerchantTag
*
* @return GoogleMerchantFeed
*/
public function setCustomLabel1(\App\Entity\Gos\GoogleMerchantTag $googleMerchantTag = null)
{
$this->customLabel1 = $googleMerchantTag;
return $this;
}
/**
* Get customLabel0
*
* @return \App\Entity\Gos\GoogleMerchantTag
*/
public function getCustomLabel1()
{
return $this->customLabel1;
}
/**
* Set customLabel2
*
* @param \App\Entity\Gos\GoogleMerchantTag $googleMerchantTag
*
* @return GoogleMerchantFeed
*/
public function setCustomLabel2(\App\Entity\Gos\GoogleMerchantTag $googleMerchantTag = null)
{
$this->customLabel2 = $googleMerchantTag;
return $this;
}
/**
* Get customLabel0
*
* @return \App\Entity\Gos\GoogleMerchantTag
*/
public function getCustomLabel2()
{
return $this->customLabel2;
}
/**
* Set customLabel3
*
* @param \App\Entity\Gos\GoogleMerchantTag $googleMerchantTag
*
* @return GoogleMerchantFeed
*/
public function setCustomLabel3(\App\Entity\Gos\GoogleMerchantTag $googleMerchantTag = null)
{
$this->customLabel3 = $googleMerchantTag;
return $this;
}
/**
* Get customLabel3
*
* @return \App\Entity\Gos\GoogleMerchantTag
*/
public function getCustomLabel3()
{
return $this->customLabel3;
}
/**
* Set customLabel4
*
* @param \App\Entity\Gos\GoogleMerchantTag $googleMerchantTag
*
* @return GoogleMerchantFeed
*/
public function setCustomLabel4(\App\Entity\Gos\GoogleMerchantTag $googleMerchantTag = null)
{
$this->customLabel4 = $googleMerchantTag;
return $this;
}
/**
* Get customLabel4
*
* @return \App\Entity\Gos\GoogleMerchantTag
*/
public function getCustomLabel4()
{
return $this->customLabel4;
}
/**
* Set promotionId
*
* @param string $promotionId
*
* @return GoogleMerchantFeed
*/
public function setPromotionId($promotionId)
{
$this->promotionId = $promotionId;
return $this;
}
/**
* Get promotionId
*
* @return string
*/
public function getPromotionId()
{
return $this->promotionId;
}
/**
* Set gtin
*
* @param string $gtin
*
* @return GoogleMerchantFeed
*/
public function setGtin($gtin)
{
$this->gtin = $gtin;
return $this;
}
/**
* Get gtin
*
* @return string
*/
public function getGtin()
{
return $this->gtin;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
*
* @return GoogleMerchantFeed
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set isActive
*
* @param boolean $isActive
*
* @return GoogleMerchantFeed
*/
public function setIsActive($isActive)
{
$this->isActive = $isActive;
return $this;
}
/**
* Get isActive
*
* @return boolean
*/
public function getIsActive()
{
return $this->isActive;
}
/**
* Set product
*
* @param \App\Entity\Gos\Product $product
*
* @return GoogleMerchantFeed
*/
public function setProduct(\App\Entity\Gos\Product $product = null)
{
$this->product = $product;
return $this;
}
/**
* Get product
*
* @return \App\Entity\Gos\Product
*/
public function getProduct()
{
return $this->product;
}
/**
* Set googleMerchantCategory
*
* @param \App\Entity\Gos\GoogleMerchantCategory $googleMerchantCategory
*
* @return GoogleMerchantFeed
*/
public function setGoogleMerchantCategory(\App\Entity\Gos\GoogleMerchantCategory $googleMerchantCategory = null)
{
$this->googleMerchantCategory = $googleMerchantCategory;
return $this;
}
/**
* Get googleMerchantCategory
*
* @return \App\Entity\Gos\GoogleMerchantCategory
*/
public function getGoogleMerchantCategory()
{
return $this->googleMerchantCategory;
}
/**
* Set googleMerchantCategorySM
*
* @param string $googleMerchantCategorySM
*
* @return GoogleMerchantFeed
*/
public function setGoogleMerchantCategorySM($googleMerchantCategorySM)
{
$this->googleMerchantCategorySM = $googleMerchantCategorySM;
return $this;
}
/**
* Get googleMerchantCategorySM
*
* @return string
*/
public function getGoogleMerchantCategorySM()
{
return $this->googleMerchantCategorySM;
}
/**
* Set googleMerchantSubcategorySM
*
* @param string $googleMerchantSubcategorySM
*
* @return GoogleMerchantFeed
*/
public function setGoogleMerchantSubcategorySM(string $googleMerchantSubcategorySM): void
{
$this->googleMerchantSubcategorySM = $googleMerchantSubcategorySM;
}
/**
* Get googleMerchantSubcategorySM
*
* @return string || null
*/
public function getGoogleMerchantSubcategorySM()
{
return $this->googleMerchantSubcategorySM;
}
/**
* Set productURL
*
* @param string $productURL
*
* @return string
*/
public function setProductURL(string $productURL): void
{
$this->productURL = $productURL;
}
/**
* Get productURL
*
* @return string || null
*/
public function getProductURL()
{
return $this->productURL;
}
/**
* Set graphicsURL
*
* @param string $graphicsURL
*
* @return string || null
*/
public function setGraphicsURL(string $graphicsURL): void
{
$this->graphicsURL = $graphicsURL;
}
/**
* Get graphicsURL
*
* @return string || null
*/
public function getGraphicsURL()
{
return $this->graphicsURL;
}
/**
* Set categoryURL
*
* @param string $categoryURL
*
* @return string
*/
public function setCategoryURL(string $categoryURL): void
{
$this->categoryURL = $categoryURL;
}
/**
* Get categoryURL
*
* @return string || null
*/
public function getCategoryURL()
{
return $this->categoryURL;
}
/**
* Set googleMerchantProductType
*
* @param \App\Entity\Gos\GoogleMerchantProductType $googleMerchantProductType
*
* @return GoogleMerchantFeed
*/
public function setGoogleMerchantProductType(\App\Entity\Gos\GoogleMerchantProductType $googleMerchantProductType = null)
{
$this->googleMerchantProductType = $googleMerchantProductType;
return $this;
}
/**
* Get googleMerchantProductType
*
* @return \App\Entity\Gos\GoogleMerchantProductType
*/
public function getGoogleMerchantProductType()
{
return $this->googleMerchantProductType;
}
/**
* Set isUniqskills
*
* @param boolean $isUniqskills
*
* @return GoogleMerchantFeed
*/
public function setIsUniqskills($isUniqskills)
{
$this->isUniqskills = $isUniqskills;
return $this;
}
/**
* Get isUniqskills
*
* @return boolean
*/
public function getIsUniqskills()
{
return $this->isUniqskills;
}
/**
* Set isLatino
*
* @param boolean $isLatino
*
* @return GoogleMerchantFeed
*/
public function setIsLatino($isLatino)
{
$this->isLatino = $isLatino;
return $this;
}
/**
* Get isLatino
*
* @return boolean
*/
public function getIsLatino()
{
return $this->isLatino;
}
/**
* Set uniqskillsId
*
* @param integer $uniqskillsId
*
* @return GoogleMerchantFeed
*/
public function setUniqskillsId($uniqskillsId)
{
$this->uniqskillsId = $uniqskillsId;
return $this;
}
/**
* Get uniqskillsId
*
* @return boolean
*/
public function getUniqskillsId()
{
return $this->uniqskillsId;
}
/**
* @return Collection|ProductVariant[]
*/
public function getAssociatedVariants()
{
return $this->associatedVariants;
}
public function addAssociatedVariant(ProductVariant $associatedVariant): self
{
if (!$this->associatedVariants->contains($associatedVariant)) {
$this->associatedVariants[] = $associatedVariant;
$associatedVariant->setGoogleMerchantFeed($this);
}
return $this;
}
public function removeAssociatedVariant(ProductVariant $associatedVariant): self
{
if ($this->associatedVariants->contains($associatedVariant)) {
$this->associatedVariants->removeElement($associatedVariant);
// set the owning side to null (unless already changed)
if ($associatedVariant->getGoogleMerchantFeed() === $this) {
$associatedVariant->setGoogleMerchantFeed(null);
}
}
return $this;
}
}