src/MDS/AvexpressBundle/Entity/AvePackageTemplate.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\MDS\AvexpressBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use App\MDS\VenuesBundle\Entity\ReservationLoungeDetails;
  7. /**
  8.  * AvePackageTemplate
  9.  *
  10.  * @ORM\Table(name="ave_package_template")
  11.  * @ORM\Entity(repositoryClass="App\MDS\AvexpressBundle\Repository\AvePackageTemplateRepository")
  12.  */
  13. class AvePackageTemplate
  14. {
  15.     /**
  16.      * @var int
  17.      *
  18.      * @ORM\Column(name="id", type="integer")
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="AUTO")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @var string
  25.      *
  26.      * @ORM\Column(name="name", type="string", length=255)
  27.      */
  28.     private $name;
  29.     /**
  30.      * @var string
  31.      *
  32.      * @ORM\Column(name="description", type="text", nullable=true)
  33.      */
  34.     private $description;
  35.     /**
  36.      * @ORM\Column(name="total_net_price", type="float")
  37.      * Precio Neto del Paquete
  38.      */
  39.     private $totalNetPrice;
  40.     /**
  41.      * @var \DateTime
  42.      *
  43.      * @ORM\Column(name="createdAt", type="datetime")
  44.      */
  45.     private $createdAt;
  46.     /**
  47.      * @var string
  48.      *
  49.      * @ORM\Column(name="createdId", type="string", length=255)
  50.      */
  51.     private $createdId;
  52.     /**
  53.      * @var \DateTime
  54.      *
  55.      * @ORM\Column(name="updatedAt", type="datetime")
  56.      */
  57.     private $updatedAt;
  58.     /**
  59.      * @var string
  60.      *
  61.      * @ORM\Column(name="updatedId", type="string", length=255)
  62.      */
  63.     private $updatedId;
  64.     /**
  65.      * @var int
  66.      *
  67.      * Id en la tabla productFile, si es nulo pertenece a una plantilla
  68.      * @ORM\Column(name="aveProductFileId", type="integer", nullable=true)
  69.      *
  70.      */
  71.     private $aveProductFileId;
  72.     /**
  73.      * @ORM\Column(name="is_featured", type="boolean", options={"default": false})
  74.      */
  75.     private bool $isFeatured false;
  76.     /**
  77.      * @ORM\ManyToMany(targetEntity="App\MDS\VenuesBundle\Entity\ReservationLoungeDetails")
  78.      * @ORM\JoinTable(name="ave_package_lounges",
  79.      * joinColumns={@ORM\JoinColumn(name="package_template_id", referencedColumnName="id")},
  80.      * inverseJoinColumns={@ORM\JoinColumn(name="lounge_id", referencedColumnName="id")}
  81.      * )
  82.      */
  83.     private Collection $lounges;
  84. public function __construct()
  85.     {
  86.         $this->lounges = new ArrayCollection();
  87.         // Inicializa fechas si es necesario
  88.     }
  89.     /**
  90.      * Get id
  91.      *
  92.      * @return int
  93.      */
  94.     public function getId()
  95.     {
  96.         return $this->id;
  97.     }
  98.     /**
  99.      * Set name
  100.      *
  101.      * @param string $name
  102.      *
  103.      * @return AvePackageTemplate
  104.      */
  105.     public function setName($name)
  106.     {
  107.         $this->name $name;
  108.         return $this;
  109.     }
  110.     /**
  111.      * Get name
  112.      *
  113.      * @return string
  114.      */
  115.     public function getName()
  116.     {
  117.         return $this->name;
  118.     }
  119.     /**
  120.      * Set description
  121.      *
  122.      * @param string $description
  123.      *
  124.      * @return AvePackageTemplate
  125.      */
  126.     public function setDescription($description)
  127.     {
  128.         $this->description $description;
  129.         return $this;
  130.     }
  131.     /**
  132.      * Get description
  133.      *
  134.      * @return string
  135.      */
  136.     public function getDescription()
  137.     {
  138.         return $this->description;
  139.     }
  140.     /**
  141.      * Set createdAt
  142.      *
  143.      * @param \DateTime $createdAt
  144.      *
  145.      * @return AvePackageTemplate
  146.      */
  147.     public function setCreatedAt($createdAt)
  148.     {
  149.         $this->createdAt $createdAt;
  150.         return $this;
  151.     }
  152.     /**
  153.      * Get createdAt
  154.      *
  155.      * @return \DateTime
  156.      */
  157.     public function getCreatedAt()
  158.     {
  159.         return $this->createdAt;
  160.     }
  161.     /**
  162.      * Set createdId
  163.      *
  164.      * @param string $createdId
  165.      *
  166.      * @return AvePackageTemplate
  167.      */
  168.     public function setCreatedId($createdId)
  169.     {
  170.         $this->createdId $createdId;
  171.         return $this;
  172.     }
  173.     /**
  174.      * Get createdId
  175.      *
  176.      * @return string
  177.      */
  178.     public function getCreatedId()
  179.     {
  180.         return $this->createdId;
  181.     }
  182.     /**
  183.      * Set updatedAt
  184.      *
  185.      * @param \DateTime $updatedAt
  186.      *
  187.      * @return AvePackageTemplate
  188.      */
  189.     public function setUpdatedAt($updatedAt)
  190.     {
  191.         $this->updatedAt $updatedAt;
  192.         return $this;
  193.     }
  194.     /**
  195.      * Get updatedAt
  196.      *
  197.      * @return \DateTime
  198.      */
  199.     public function getUpdatedAt()
  200.     {
  201.         return $this->updatedAt;
  202.     }
  203.     /**
  204.      * Set updatedId
  205.      *
  206.      * @param string $updatedId
  207.      *
  208.      * @return AvePackageTemplate
  209.      */
  210.     public function setUpdatedId($updatedId)
  211.     {
  212.         $this->updatedId $updatedId;
  213.         return $this;
  214.     }
  215.     /**
  216.      * Get updatedId
  217.      *
  218.      * @return string
  219.      */
  220.     public function getUpdatedId()
  221.     {
  222.         return $this->updatedId;
  223.     }
  224.     public function getTotalNetPrice(): ?float
  225.     {
  226.         return $this->totalNetPrice;
  227.     }
  228.     public function setTotalNetPrice(float $totalNetPrice): self
  229.     {
  230.         $this->totalNetPrice $totalNetPrice;
  231.         return $this;
  232.     }
  233.     /**
  234.      * Set aveProductFileId
  235.      *
  236.      * @param integer $aveProductFileId
  237.      *
  238.      * @return AvePackageTemplate
  239.      */
  240.     public function setAveProductFileId($aveProductFileId)
  241.     {
  242.         $this->aveProductFileId $aveProductFileId;
  243.         return $this;
  244.     }
  245.     /**
  246.      * Get aveProductFileId
  247.      *
  248.      * @return integer
  249.      */
  250.     public function getAveProductFileId()
  251.     {
  252.         return $this->aveProductFileId;
  253.     }
  254.     public function isFeatured(): bool
  255.     {
  256.         return $this->isFeatured;
  257.     }
  258.     public function setIsFeatured(bool $isFeatured): self
  259.     {
  260.         $this->isFeatured $isFeatured;
  261.         return $this;
  262.     }
  263.     /**
  264.      * @return Collection<int, ReservationLoungeDetails>
  265.      */
  266.     public function getLounges(): Collection
  267.     {
  268.         return $this->lounges;
  269.     }
  270.     public function addLounge(ReservationLoungeDetails $lounge): self
  271.     {
  272.         if (!$this->lounges->contains($lounge)) {
  273.             $this->lounges->add($lounge);
  274.         }
  275.         return $this;
  276.     }
  277.     public function removeLounge(ReservationLoungeDetails $lounge): self
  278.     {
  279.         $this->lounges->removeElement($lounge);
  280.         return $this;
  281.     }
  282. }