<?php
namespace App\Entity\System;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="ps_locks")
*
* @ORM\Entity(repositoryClass="App\Repository\System\LockRepository")
*/
class Lock
{
public const STATUS_NO_TRANSFER = 0;
public const STATUS_AWAITING = 1;
public const STATUS_IN_PROCESS = 2;
public const STATUS_CANCELLED = 3;
public const STATUS_EXPIRED = 4;
public const STATUS_REJECTED = 5;
public const STATUS_FINISHED = 6;
public const START_REGISTER = 0;
public const MANY_REGISTER = 1;
public const STATUSES = [
self::STATUS_NO_TRANSFER => 'PENDING',
self::STATUS_AWAITING => 'PENDING',
self::STATUS_IN_PROCESS => 'IN_PROCESS',
self::STATUS_CANCELLED => 'CANCELED',
self::STATUS_EXPIRED => 'EXPIRED',
self::STATUS_REJECTED => 'REJECTED',
self::STATUS_FINISHED => 'FINISHED',
];
/**
* @ORM\Id()
*
* @ORM\GeneratedValue()
*
* @ORM\Column(name="id_lock", type="integer")
*/
private $id;
/**
* @var int
*
* @ORM\Column(type="integer", length=11, name="id_customer")
*/
private $customerId;
/**
* @var int
*
* @ORM\Column(type="integer", length=11, name="id_product")
*/
private $productId;
/**
* @var int
*
* @ORM\Column(type="integer", length=11, name="id_product_attribute")
*/
private $productAttributeId;
/**
* @var int
*
* @ORM\Column(type="integer", length=11)
*/
private $quantity;
/**
* @var float
*
* @ORM\Column(type="decimal", precision=20, scale=6, options={"default" : 0.000000})
*/
private $price;
/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $dateAdd;
/**
* @var \DateTime|null
*
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateValidate;
/**
* @var \DateTime|null
*
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateCaducity;
/**
* @var string|null
*
* @ORM\Column(type="string", length=32, nullable=true)
*/
private $reference;
/**
* @var string|null
*
* @ORM\Column(type="string", length=128, nullable=true)
*/
private $name;
/**
* @var int|null
*
* @ORM\Column(name="id_image", type="integer", length=11, nullable=true)
*/
private $imageId;
/**
* @var int
*
* @ORM\Column(name="id_state", columnDefinition="tinyint(3)unsigned", options={"unsigned": 0})
*/
private $stateId;
/**
* @var string|null
*
* @ORM\Column(type="text", nullable=true)
*/
private $comments;
/**
* @var int
*
* @ORM\Column(type="boolean", columnDefinition="tinyint(1)", options={"default" : 0})
*/
private $inCart;
/**
* @var string|null
*
* @ORM\Column(type="string", length=64, nullable=true)
*/
private $stockLockReference;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*
* @return Lock
*/
public function setId($id): Lock
{
$this->id = $id;
return $this;
}
/**
* @return int
*/
public function getCustomerId(): int
{
return $this->customerId;
}
/**
* @param int $customerId
*
* @return Lock
*/
public function setCustomerId(int $customerId): Lock
{
$this->customerId = $customerId;
return $this;
}
/**
* @return int
*/
public function getProductId(): int
{
return $this->productId;
}
/**
* @param int $productId
*
* @return Lock
*/
public function setProductId(int $productId): Lock
{
$this->productId = $productId;
return $this;
}
/**
* @return int
*/
public function getProductAttributeId(): int
{
return $this->productAttributeId;
}
/**
* @param int $productAttributeId
*
* @return Lock
*/
public function setProductAttributeId(int $productAttributeId): Lock
{
$this->productAttributeId = $productAttributeId;
return $this;
}
/**
* @return int
*/
public function getQuantity(): int
{
return $this->quantity;
}
/**
* @param int $quantity
*
* @return Lock
*/
public function setQuantity(int $quantity): Lock
{
$this->quantity = $quantity;
return $this;
}
/**
* @return float
*/
public function getPrice(): float
{
return $this->price;
}
/**
* @param float $price
*
* @return Lock
*/
public function setPrice(float $price): Lock
{
$this->price = $price;
return $this;
}
/**
* @return \DateTime
*/
public function getDateAdd(): \DateTime
{
return $this->dateAdd;
}
/**
* @param \DateTime $dateAdd
*
* @return Lock
*/
public function setDateAdd(\DateTime $dateAdd): Lock
{
$this->dateAdd = $dateAdd;
return $this;
}
/**
* @return \DateTime|null
*/
public function getDateValidate(): ?\DateTime
{
return $this->dateValidate;
}
/**
* @param \DateTime|null $dateValidate
*
* @return Lock
*/
public function setDateValidate(?\DateTime $dateValidate): Lock
{
$this->dateValidate = $dateValidate;
return $this;
}
/**
* @return \DateTime|null
*/
public function getDateCaducity(): ?\DateTime
{
return $this->dateCaducity;
}
/**
* @param \DateTime|null $dateCaducity
*
* @return Lock
*/
public function setDateCaducity(?\DateTime $dateCaducity): Lock
{
$this->dateCaducity = $dateCaducity;
return $this;
}
/**
* @return string|null
*/
public function getReference(): ?string
{
return $this->reference;
}
/**
* @param string|null $reference
*
* @return Lock
*/
public function setReference(?string $reference): Lock
{
$this->reference = $reference;
return $this;
}
/**
* @return string|null
*/
public function getName(): ?string
{
return $this->name;
}
/**
* @param string|null $name
*
* @return Lock
*/
public function setName(?string $name): Lock
{
$this->name = $name;
return $this;
}
/**
* @return int|null
*/
public function getImageId(): ?int
{
return $this->imageId;
}
/**
* @param int|null $imageId
*
* @return Lock
*/
public function setImageId(?int $imageId): Lock
{
$this->imageId = $imageId;
return $this;
}
/**
* @return int
*/
public function getStateId(): int
{
return $this->stateId;
}
/**
* @param int $stateId
*
* @return Lock
*/
public function setStateId(int $stateId): Lock
{
$this->stateId = $stateId;
return $this;
}
/**
* @return string|null
*/
public function getComments(): ?string
{
return $this->comments;
}
/**
* @param string|null $comments
*
* @return Lock
*/
public function setComments(?string $comments): Lock
{
$this->comments = $comments;
return $this;
}
/**
* @return int
*/
public function getInCart(): int
{
return $this->inCart;
}
/**
* @param int $inCart
*
* @return Lock
*/
public function setInCart(int $inCart): Lock
{
$this->inCart = $inCart;
return $this;
}
/**
* @return string|null
*/
public function getStockLockReference(): ?string
{
return $this->stockLockReference;
}
/**
* @param string|null $stockLockReference
*
* @return Lock
*/
public function setStockLockReference(?string $stockLockReference): Lock
{
$this->stockLockReference = $stockLockReference;
return $this;
}
}