<?php
namespace App\Entity;
use App\Repository\FenceOfferElementRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* @ORM\Entity(repositoryClass=FenceOfferElementRepository::class)
*/
class FenceOfferElement
{
/**
* Hook timestampable behavior
* updates createdAt, updatedAt fields
*/
use TimestampableEntity;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=FenceElementDictionary::class)
* @ORM\JoinColumn(nullable=false)
*/
private $fenceElement;
/**
* @ORM\Column(type="json")
*/
private $formDataJson = [];
/**
* @ORM\ManyToOne(targetEntity=FenceFace::class, inversedBy="fenceOfferElements")
* @ORM\JoinColumn(nullable=false)
*/
private $fenceFace;
/**
* @ORM\Column(type="string", length=255)
*/
private $alfenFormLink;
/**
* @ORM\Column(type="float")
*/
private $pricePerUnit;
/**
* @ORM\Column(type="integer")
*/
private $quantity;
/**
* @ORM\Column(type="integer", options={"default": 0})
*/
private $sortOrder;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $placementOption;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $placementType;
/**
* @ORM\ManyToOne(targetEntity=FenceOfferElement::class)
* @ORM\JoinColumn(name="placement_point_id", referencedColumnName="id", onDelete="SET NULL")
*/
private $placementPoint;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $startPosition;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $endPosition;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $length;
private $lang;
public function getId(): ?int
{
return $this->id;
}
public function getFenceElement(): ?FenceElementDictionary
{
return $this->fenceElement;
}
public function setFenceElement(?FenceElementDictionary $fenceElement): self
{
$this->fenceElement = $fenceElement;
return $this;
}
public function getFormDataJson(): ?array
{
return $this->formDataJson;
}
public function setFormDataJson(array $formDataJson): self
{
$this->formDataJson = $formDataJson;
return $this;
}
public function getFenceFace(): ?FenceFace
{
return $this->fenceFace;
}
public function setFenceFace(?FenceFace $fenceFace): self
{
$this->fenceFace = $fenceFace;
return $this;
}
public function getAlfenFormLink(): ?string
{
return $this->alfenFormLink;
}
public function setAlfenFormLink(string $alfenFormLink): self
{
$this->alfenFormLink = $alfenFormLink;
return $this;
}
public function getPricePerUnit(): ?float
{
return $this->pricePerUnit;
}
public function setPricePerUnit(float $pricePerUnit): self
{
$this->pricePerUnit = $pricePerUnit;
return $this;
}
public function getQuantity(): ?int
{
return $this->quantity;
}
public function setQuantity(int $quantity): self
{
$this->quantity = $quantity;
return $this;
}
public function getSortOrder(): ?int
{
return $this->sortOrder;
}
public function setSortOrder(int $sortOrder): self
{
$this->sortOrder = $sortOrder;
return $this;
}
public function getPlacementOption(): ?string
{
return $this->placementOption;
}
public function setPlacementOption(?string $placementOption): self
{
$this->placementOption = $placementOption;
return $this;
}
public function getPlacementType(): ?string
{
return $this->placementType;
}
public function setPlacementType(?string $placementType): self
{
$this->placementType = $placementType;
return $this;
}
public function getPlacementPoint(): ?self
{
return $this->placementPoint;
}
public function setPlacementPoint(?self $placementPoint): self
{
$this->placementPoint = $placementPoint;
return $this;
}
public function getStartPosition(): ?int
{
return $this->startPosition;
}
public function setStartPosition(?int $startPosition): self
{
$this->startPosition = $startPosition;
return $this;
}
public function getEndPosition(): ?int
{
return $this->endPosition;
}
public function setEndPosition(?int $endPosition): self
{
$this->endPosition = $endPosition;
return $this;
}
public function getLength(): ?int
{
return $this->length;
}
public function setLength(?int $length): self
{
$this->length = $length;
return $this;
}
public function getLang(): ?string
{
return $this->lang;
}
public function setLang(?string $lang): self
{
$this->lang = $lang;
return $this;
}
}