src/Entity/Cupon.php line 22
- <?php
- namespace App\Entity;
- use App\Entity\User;
- use App\Entity\TransaccionAfiliado;
- use App\Entity\UserStats;
- use Doctrine\Common\Collections\ArrayCollection;
- use Doctrine\ORM\Mapping as ORM;
- use Symfony\Component\Validator\Mapping\ClassMetadata;
- use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
- /**
- * Cupon
- *
- * @ORM\Table()
- * @ORM\Entity()
- * @UniqueEntity("codigo")
- * @ORM\HasLifecycleCallbacks()
- */
- class Cupon
- {
- /**
- * @var integer
- *
- * @ORM\Column(name="id", type="integer")
- * @ORM\Id
- * @ORM\GeneratedValue(strategy="AUTO")
- */
- private $id;
- /**
- * @ORM\ManyToOne(targetEntity="User", inversedBy="cupon")
- * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true)
- */
- private $usuario;
- /**
- * @var string
- *
- * @ORM\Column(name="descripcion", type="string", length=255, nullable=true)
- */
- private $descripcion;
- /**
- * @var boolean
- *
- * @ORM\Column(name="activo", type="boolean")
- */
- private $activo=true;
- /**
- * @var \DateTime
- *
- * @ORM\Column(name="inicio", type="datetime", nullable=true)
- */
- private $inicio;
- /**
- * @var \DateTime
- *
- * @ORM\Column(name="fin", type="datetime", nullable=true)
- */
- private $fin;
- /**
- * @var string
- *
- * @ORM\Column(name="total_usos", type="integer")
- */
- private $totalUsos=1;
- /**
- * @var string
- *
- * @ORM\Column(name="total_usos_usuario", type="integer")
- */
- private $totalUsosUsuario=1;
- /**
- * @var string
- *
- * @ORM\Column(name="codigo", type="string", length=255, unique=true)
- */
- private $codigo;
- /**
- * @var string
- *
- * @ORM\Column(name="codigo_tpv", type="string", length=255)
- */
- private $codigoTPV;
- /**
- * @var float
- *
- * @ORM\Column(name="porcentaje_descuento", type="float", nullable=false)
- */
- private $porcentajeDescuento;
- /**
- * @ORM\ManyToMany(targetEntity="Divisa", inversedBy="cupones")
- * @ORM\JoinTable(name="cupon_divisa")
- */
- private $divisas;
- /**
- * @var boolean
- *
- * @ORM\Column(name="carrito_abandonado", type="boolean")
- */
- private $carritoAbandonado = false;
- public function __construct() {
- $this->totalUsosUsuario = 1;
- $this->totalUsos = 1;
- $this->activo = true;
- $this->carritoAbandonado = false;
- $this->divisas = new ArrayCollection();
- }
- public static function loadValidatorMetadata(ClassMetadata $metadata)
- {
- $metadata->addConstraint(new UniqueEntity(array(
- 'fields' => 'codigo',
- 'message' => 'Ya existe otro cuṕon con este código.',
- )));
- }
- /**
- * Get id
- *
- * @return integer
- */
- public function getId()
- {
- return $this->id;
- }
- /**
- * Set usuario
- *
- * @param string $usuario
- * @return Transaccion
- */
- public function setUsuario($usuario)
- {
- $this->usuario = $usuario;
- return $this;
- }
- /**
- * Get usuario
- *
- * @return Usuario
- */
- public function getUsuario()
- {
- return $this->usuario;
- }
- /**
- * Set descripcion
- *
- * @param string $descripcion
- * @return Transaccion
- */
- public function setDescripcion($descripcion)
- {
- $this->descripcion = $descripcion;
- return $this;
- }
- /**
- * Set valor usos
- *
- * @param string $cupon
- * @return Cupon
- */
- public function quitarUnUso(){
- $this->totalUsos = $totalUsos -1;
- }
- /**
- * Get descripcion
- *
- * @return User
- */
- public function getDescripcion()
- {
- return $this->descripcion;
- }
- /**
- * Set activo
- *
- * @param string $activo
- * @return Transaccion
- */
- public function setActivo($activo)
- {
- $this->activo = $activo;
- return $this;
- }
- /**
- * Get activo
- *
- * @return User
- */
- public function getActivo()
- {
- return $this->activo;
- }
- /**
- * Set inicio
- *
- * @param string $inicio
- * @return Transaccion
- */
- public function setInicio($inicio)
- {
- $this->inicio = $inicio;
- return $this;
- }
- /**
- * Get inicio
- *
- * @return string
- */
- public function getInicio()
- {
- return $this->inicio;
- }
- /**
- * Set fin
- *
- * @param string $fin
- * @return Transaccion
- */
- public function setFin($fin)
- {
- $this->fin = $fin;
- return $this;
- }
- /**
- * Get fin
- *
- * @return string
- */
- public function getFin()
- {
- return $this->fin;
- }
- /**
- * Set totalUsos
- *
- * @param string $totalUsos
- * @return Transaccion
- */
- public function setTotalUsos($totalUsos)
- {
- $this->totalUsos = $totalUsos;
- return $this;
- }
- /**
- * Get totalUsos
- *
- * @return \DateTime
- */
- public function getTotalUsos()
- {
- return $this->totalUsos;
- }
- /**
- * Set totalUsosUsuario
- *
- * @param string $totalUsosUsuario
- * @return Transaccion
- */
- public function setTotalUsosUsuario($totalUsosUsuario)
- {
- $this->totalUsosUsuario = $totalUsosUsuario;
- return $this;
- }
- /**
- * Get totalUsosUsuario
- *
- * @return \DateTime
- */
- public function getTotalUsosUsuario()
- {
- return $this->totalUsosUsuario;
- }
- /**
- * Set codigo
- *
- * @param string $codigo
- * @return Transaccion
- */
- public function setCodigo($codigo)
- {
- $this->codigo = $codigo;
- return $this;
- }
- /**
- * Get codigo
- *
- * @return string
- */
- public function getCodigo()
- {
- return $this->codigo;
- }
- /**
- * Set codigoTPV
- *
- * @param string $codigoTPV
- * @return Transaccion
- */
- public function setCodigoTPV($codigoTPV)
- {
- $this->codigoTPV = $codigoTPV;
- return $this;
- }
- /**
- * Get codigoTPV
- *
- * @return string
- */
- public function getCodigoTPV()
- {
- return $this->codigoTPV;
- }
- public function getPorcentajeDescuento()
- {
- return $this->porcentajeDescuento;
- }
- public function setPorcentajeDescuento($porcentajeDescuento)
- {
- $this->porcentajeDescuento = $porcentajeDescuento;
- return $this;
- }
- public function getDivisas()
- {
- return $this->divisas;
- }
- public function addDivisa($divisa): self
- {
- if (!$this->divisas->contains($divisa)) {
- $this->divisas->add($divisa);
- }
- return $this;
- }
- public function removeDivisa($divisa): self
- {
- $this->divisas->removeElement($divisa);
- return $this;
- }
- public function setCarritoAbandonado($carritoAbandonado)
- {
- $this->carritoAbandonado = $carritoAbandonado;
- return $this;
- }
- public function getCarritoAbandonado()
- {
- return $this->carritoAbandonado;
- }
- }