<?php
namespace App\Entity;
use App\Constant\PaymentMethod;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* MobileAppPackageSold
*
* @ORM\Table(name="mobile_app_package_sold")
* @ORM\Entity(repositoryClass="App\Repository\MobileAppPackageSoldRepository")
* @ORM\HasLifecycleCallbacks()
*/
class MobileAppPackageSold
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Groups({"package_sold"})
*/
private $id;
/**
* @var int
*
* @ORM\Column(name="packet_id", type="integer", nullable=true)
*/
private $packetId;
/**
* @var int
*
* @ORM\Column(name="eid", type="integer")
* @Groups({"package_sold"})
*/
private $eid;
/**
* @var string
*
* @ORM\Column(name="price", type="string", length=255)
* @Groups({"package_sold"})
*/
private $price;
/**
* @var string
*
* @ORM\Column(name="quantity", type="string", length=255)
*/
private $quantity;
/**
* @var int
*
* @ORM\Column(name="user_id", type="integer")
* @Groups({"package_sold"})
*/
private $userId;
/**
* @var int
*
* @ORM\Column(name="attendant_id", type="integer")
*/
private $attendantId;
/**
* @var string
*
* @ORM\Column(name="locator", type="string", length=255)
* @Groups({"package_sold"})
*/
private $locator;
/**
* @var \DateTime
*
* @ORM\Column(name="created_at", type="datetime")
*/
private $createdAt;
/**
* @var string
*
* @ORM\Column(name="time_payment", type="string", length=255, nullable=true)
*/
private $timePayment;
/**
* @var string
*
* @ORM\Column(name="amount_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $amountPayment;
/**
* @var string
*
* @ORM\Column(name="order_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $orderPayment;
/**
* @var string
*
* @ORM\Column(name="response_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $responsePayment;
/**
* @var string
*
* @ORM\Column(name="authorisationCode_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $authorisationCodePayment;
/**
* @var string
*
* @ORM\Column(name="date_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $datePayment;
/**
* @var string
*
* @ORM\Column(name="estatus_payment", type="string", length=255, nullable=true)
* @Groups({"package_sold"})
*/
private $estatusPayment = "pending";
/**
* @ORM\OneToMany(targetEntity=SoldPackagesSales::class, mappedBy="mobileAppPackageSold", orphanRemoval=true, cascade={"persist"})
* @Groups({"package_sold"})
*/
private $soldPackagesSales;
/**
* @ORM\Column(type="string", length=50)
* @Assert\Choice(callback={"App\Constant\PaymentMethod", "getAvailableTypes"}, message="Invalid payment method.")
* @Groups({"package_sold"})
*/
private $method;
/**
* @ORM\OneToMany(targetEntity=AppMobileGuest::class, mappedBy="packageSold")
*/
private $appMobileGuests;
public function __construct()
{
$this->soldPackagesSales = new ArrayCollection();
$this->appMobileGuests = new ArrayCollection();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set packetId
*
* @param integer $packetId
*
* @return MobileAppPackageSold
*/
public function setPacketId($packetId)
{
$this->packetId = $packetId;
return $this;
}
/**
* Get packetId
*
* @return integer
*/
public function getPacketId()
{
return $this->packetId;
}
/**
* Set eid
*
* @param integer $eid
*
* @return MobileAppPackageSold
*/
public function setEid($eid)
{
$this->eid = $eid;
return $this;
}
/**
* Get eid
*
* @return integer
*/
public function getEid()
{
return $this->eid;
}
/**
* Set price
*
* @param string $price
*
* @return MobileAppPackageSold
*/
public function setPrice($price)
{
$this->price = $price;
return $this;
}
/**
* Get price
*
* @return string
*/
public function getPrice()
{
return $this->price;
}
/**
* Set quantity
*
* @param string $quantity
*
* @return MobileAppPackageSold
*/
public function setQuantity($quantity)
{
$this->quantity = $quantity;
return $this;
}
/**
* Get quantity
*
* @return string
*/
public function getQuantity()
{
return $this->quantity;
}
/**
* Set userId
*
* @param integer $userId
*
* @return MobileAppPackageSold
*/
public function setUserId($userId)
{
$this->userId = $userId;
return $this;
}
/**
* Get userId
*
* @return integer
*/
public function getUserId()
{
return $this->userId;
}
/**
* Set attendantId
*
* @param integer $attendantId
*
* @return MobileAppPackageSold
*/
public function setAttendantId($attendantId)
{
$this->attendantId = $attendantId;
return $this;
}
/**
* Get attendantId
*
* @return integer
*/
public function getAttendantId()
{
return $this->attendantId;
}
/**
* Set locator
*
* @param string $locator
*
* @return MobileAppPackageSold
*/
public function setLocator($locator)
{
$this->locator = $locator;
return $this;
}
/**
* Get locator
*
* @return string
*/
public function getLocator()
{
return $this->locator;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
*
* @return MobileAppPackageSold
*/
public function setCreatedAt(\Datetime $createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set timePayment
*
* @param string $timePayment
*
* @return MobileAppPackageSold
*/
public function setTimePayment($timePayment)
{
$this->timePayment = $timePayment;
return $this;
}
/**
* Get timePayment
*
* @return string
*/
public function getTimePayment()
{
return $this->timePayment;
}
/**
* Set amountPayment
*
* @param string $amountPayment
*
* @return MobileAppPackageSold
*/
public function setAmountPayment($amountPayment)
{
$this->amountPayment = $amountPayment;
return $this;
}
/**
* Get amountPayment
*
* @return string
*/
public function getAmountPayment()
{
return $this->amountPayment;
}
/**
* Set orderPayment
*
* @param string $orderPayment
*
* @return MobileAppPackageSold
*/
public function setOrderPayment($orderPayment)
{
$this->orderPayment = $orderPayment;
return $this;
}
/**
* Get orderPayment
*
* @return string
*/
public function getOrderPayment()
{
return $this->orderPayment;
}
/**
* Set responsePayment
*
* @param string $responsePayment
*
* @return MobileAppPackageSold
*/
public function setResponsePayment($responsePayment)
{
$this->responsePayment = $responsePayment;
return $this;
}
/**
* Get responsePayment
*
* @return string
*/
public function getResponsePayment()
{
return $this->responsePayment;
}
/**
* Set authorisationCodePayment
*
* @param string $authorisationCodePayment
*
* @return MobileAppPackageSold
*/
public function setAuthorisationCodePayment($authorisationCodePayment)
{
$this->authorisationCodePayment = $authorisationCodePayment;
return $this;
}
/**
* Get authorisationCodePayment
*
* @return string
*/
public function getAuthorisationCodePayment()
{
return $this->authorisationCodePayment;
}
/**
* Set datePayment
*
* @param string $datePayment
*
* @return MobileAppPackageSold
*/
public function setDatePayment($datePayment)
{
$this->datePayment = $datePayment;
return $this;
}
/**
* Get datePayment
*
* @return string
*/
public function getDatePayment()
{
return $this->datePayment;
}
/**
* Set estatusPayment
*
* @param string $estatusPayment
*
* @return MobileAppPackageSold
*/
public function setEstatusPayment($estatusPayment)
{
$this->estatusPayment = $estatusPayment;
return $this;
}
/**
* Get estatusPayment
*
* @return string
*/
public function getEstatusPayment()
{
return $this->estatusPayment;
}
/**
* @ORM\PrePersist
*/
public function setCreatedAtValue()
{
$this->createdAt = new \Datetime();
}
/**
* @return Collection<int, SoldPackagesSales>
*/
public function getSoldPackagesSales(): Collection
{
return $this->soldPackagesSales;
}
public function addSoldPackagesSale(SoldPackagesSales $soldPackagesSale): self
{
if (!$this->soldPackagesSales->contains($soldPackagesSale)) {
$this->soldPackagesSales[] = $soldPackagesSale;
$soldPackagesSale->setMobileAppPackageSold($this);
}
return $this;
}
public function removeSoldPackagesSale(SoldPackagesSales $soldPackagesSale): self
{
if ($this->soldPackagesSales->removeElement($soldPackagesSale)) {
// set the owning side to null (unless already changed)
if ($soldPackagesSale->getMobileAppPackageSold() === $this) {
$soldPackagesSale->setMobileAppPackageSold(null);
}
}
return $this;
}
public function getMethod(): ?string
{
return $this->method;
}
public function setMethod(string $method): self
{
$this->method = $method;
return $this;
}
/**
* @return Collection<int, AppMobileGuest>
*/
public function getAppMobileGuests(): Collection
{
return $this->appMobileGuests;
}
public function addAppMobileGuest(AppMobileGuest $appMobileGuest): self
{
if (!$this->appMobileGuests->contains($appMobileGuest)) {
$this->appMobileGuests[] = $appMobileGuest;
$appMobileGuest->setPackageSold($this);
}
return $this;
}
public function removeAppMobileGuest(AppMobileGuest $appMobileGuest): self
{
if ($this->appMobileGuests->removeElement($appMobileGuest)) {
// set the owning side to null (unless already changed)
if ($appMobileGuest->getPackageSold() === $this) {
$appMobileGuest->setPackageSold(null);
}
}
return $this;
}
}