src/Entity/UserOrderTokenEntity.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToStringTransformer;
  8. /**
  9.  * @ORM\Entity(repositoryClass="App\Repository\UserOrderTokenRepository")
  10.  * @ORM\Table(name="user_order_token")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class UserOrderTokenEntity
  14. {
  15.     /**
  16.      * @ORM\Column(type="bigint")
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue(strategy="AUTO")
  19.      */
  20.     protected $id;
  21.     /**
  22.      * @ORM\Column(name="token_value",type="decimal", precision=18, scale=8)
  23.      */
  24.     protected $tokenValue;
  25.     /**
  26.      * @ORM\Column(name="token_amount",type="decimal", precision=18, scale=8)
  27.      */
  28.     protected $tokenAmount;
  29.     /**
  30.      * @ORM\Column(name="amount",type="decimal", precision=18, scale=8)
  31.      */
  32.     protected $amount;
  33.     /**
  34.      * @ORM\Column(name="reminder_status",type="string", nullable=true)
  35.      */
  36.     protected $reminderStatus;
  37.     /**
  38.      * @ORM\Column(name="amount_received",type="decimal", precision=18, scale=8, nullable=true)
  39.      */
  40.     protected $amountReceived;
  41.     /**
  42.      * @ORM\Column(type="string")
  43.      */
  44.     protected $address;
  45.     /**
  46.      * @ORM\Column(type="string")
  47.      */
  48.     protected $network;
  49.     /**
  50.      * @ORM\Column(type="string")
  51.      */
  52.     protected $label;
  53.     /**
  54.      * @ORM\Column(type="string")
  55.      */
  56.     protected $status;
  57.     /**
  58.      * @ORM\Column(type="integer", name="inquiry_sent_ctr")
  59.      */
  60.     protected $inquirySentCtr;
  61.     /**
  62.      * @ORM\Column(name="created_by", type="string", length=50)
  63.      */
  64.     protected $createdBy;
  65.     /**
  66.      * @ORM\Column(name="created_at", type="datetime")
  67.      */
  68.     protected $createdAt;
  69.     /**
  70.      * @ORM\Column(name="updated_by", type="string", length=50)
  71.      */
  72.     protected $updatedBy;
  73.     /**
  74.      * @ORM\Column(name="updated_at", type="datetime")
  75.      */
  76.     protected $updatedAt;
  77.     /**
  78.      * @ORM\ManyToOne(targetEntity="UserEntity", inversedBy="userAccessTokens")
  79.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  80.      */
  81.     protected $user;
  82.         /**
  83.      * @ORM\OneToMany(targetEntity="UserBonusTokenEntity", mappedBy="userOrderToken", cascade={"remove"})
  84.      */
  85.     protected $userBonusTokens;
  86.     /**
  87.      * @ORM\OneToMany(targetEntity="UserEmailEntity", mappedBy="userOrderToken", cascade={"remove"})
  88.      */
  89.     protected $userEmails;
  90.     /**
  91.      * Set createdAt
  92.      *
  93.      * @ORM\PrePersist
  94.      */
  95.     public function setCreatedAtValue()
  96.     {
  97.         $this->createdBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  98.         $this->createdAt = new \DateTime();
  99.         $this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  100.         $this->updatedAt = new \DateTime();
  101.         $this->status 'Pending';
  102.         $this->inquirySentCtr 0;
  103.     }
  104.     /**
  105.      * Set updatedAt
  106.      *
  107.      * @ORM\PreUpdate
  108.      */
  109.     public function setUpdatedAtValue()
  110.     {
  111.         $this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  112.         $this->updatedAt = new \DateTime();
  113.     }
  114.     public function __construct($data=null)
  115.     {
  116.         if(!is_null($data)) {
  117.         }
  118.         $this->userBonusTokens = new ArrayCollection();
  119.         $this->userEmails = new ArrayCollection();
  120.     }
  121.     /*--------------------------------------------------------------------------------------------------------*/
  122.     /*                    User Defined Setters and Getters                                                      */
  123.     /*--------------------------------------------------------------------------------------------------------*/
  124.     /**
  125.      * Get idEncoded
  126.      *
  127.      * @return string
  128.      */
  129.     public function getIdEncoded() {
  130.         return base64_encode($this->id);
  131.     }
  132.     /**
  133.      * Get parsedId
  134.      *
  135.      * @return string
  136.      */
  137.     public function getParsedId() {
  138.         return sprintf("%06d"$this->id);
  139.     }
  140.     /**
  141.      * Get createdAtAsString
  142.      *
  143.      * @return string
  144.      */
  145.     public function getCreatedAtAsString()
  146.     {
  147.         $dttst = new DateTimeToStringTransformer();
  148.         return !empty($this->createdAt) ? date('m/d/Y'strtotime($dttst->transform($this->createdAt))) : '';
  149.     }
  150.     /**
  151.      * Get createdAtDateAndTimeAsString
  152.      *
  153.      * @return string
  154.      */
  155.     public function getCreatedAtDateAndTimeAsString()
  156.     {
  157.         $dttst = new DateTimeToStringTransformer();
  158.         return !empty($this->createdAt) ? date('m/d/Y H:i'strtotime($dttst->transform($this->createdAt))) : '';
  159.     }
  160.     /**
  161.      * Get totalBonus
  162.      *
  163.      * @return string
  164.      */
  165.     public function totalBonus() {
  166.         $total 0;
  167.         foreach ($this->userBonusTokens as $bonus){
  168.                 $total += $bonus->getAmount();
  169.             
  170.         }
  171.         return $total;
  172.     }
  173.     /*--------------------------------------------------------------------------------------------------------*/
  174.     /*                    Setters and Getters                                                                      */
  175.     /*--------------------------------------------------------------------------------------------------------*/
  176.     /**
  177.      * Get id.
  178.      *
  179.      * @return int
  180.      */
  181.     public function getId()
  182.     {
  183.         return $this->id;
  184.     }
  185.     /**
  186.      * Set tokenValue.
  187.      *
  188.      * @param string $tokenValue
  189.      *
  190.      * @return UserOrderTokenEntity
  191.      */
  192.     public function setTokenValue($tokenValue)
  193.     {
  194.         $this->tokenValue $tokenValue;
  195.         return $this;
  196.     }
  197.     /**
  198.      * Get tokenValue.
  199.      *
  200.      * @return string
  201.      */
  202.     public function getTokenValue()
  203.     {
  204.         return $this->tokenValue;
  205.     }
  206.     /**
  207.      * Set tokenAmount.
  208.      *
  209.      * @param string $tokenAmount
  210.      *
  211.      * @return UserOrderTokenEntity
  212.      */
  213.     public function setTokenAmount($tokenAmount)
  214.     {
  215.         $this->tokenAmount $tokenAmount;
  216.         return $this;
  217.     }
  218.     /**
  219.      * Get tokenAmount.
  220.      *
  221.      * @return string
  222.      */
  223.     public function getTokenAmount()
  224.     {
  225.         return $this->tokenAmount;
  226.     }
  227.     /**
  228.      * Set amount.
  229.      *
  230.      * @param string $amount
  231.      *
  232.      * @return UserOrderTokenEntity
  233.      */
  234.     public function setAmount($amount)
  235.     {
  236.         $this->amount $amount;
  237.         return $this;
  238.     }
  239.     /**
  240.      * Get amount.
  241.      *
  242.      * @return string
  243.      */
  244.     public function getAmount()
  245.     {
  246.         return $this->amount;
  247.     }
  248.     /**
  249.      * Set reminderStatus.
  250.      *
  251.      * @param string|null $reminderStatus
  252.      *
  253.      * @return UserOrderTokenEntity
  254.      */
  255.     public function setReminderStatus($reminderStatus null)
  256.     {
  257.         $this->reminderStatus $reminderStatus;
  258.         return $this;
  259.     }
  260.     /**
  261.      * Get reminderStatus.
  262.      *
  263.      * @return string|null
  264.      */
  265.     public function getReminderStatus()
  266.     {
  267.         return $this->reminderStatus;
  268.     }
  269.     /**
  270.      * Set amountReceived.
  271.      *
  272.      * @param string|null $amountReceived
  273.      *
  274.      * @return UserOrderTokenEntity
  275.      */
  276.     public function setAmountReceived($amountReceived null)
  277.     {
  278.         $this->amountReceived $amountReceived;
  279.         return $this;
  280.     }
  281.     /**
  282.      * Get amountReceived.
  283.      *
  284.      * @return string|null
  285.      */
  286.     public function getAmountReceived()
  287.     {
  288.         return $this->amountReceived;
  289.     }
  290.     /**
  291.      * Set address.
  292.      *
  293.      * @param string $address
  294.      *
  295.      * @return UserOrderTokenEntity
  296.      */
  297.     public function setAddress($address)
  298.     {
  299.         $this->address $address;
  300.         return $this;
  301.     }
  302.     /**
  303.      * Get address.
  304.      *
  305.      * @return string
  306.      */
  307.     public function getAddress()
  308.     {
  309.         return $this->address;
  310.     }
  311.     /**
  312.      * Set network.
  313.      *
  314.      * @param string $network
  315.      *
  316.      * @return UserOrderTokenEntity
  317.      */
  318.     public function setNetwork($network)
  319.     {
  320.         $this->network $network;
  321.         return $this;
  322.     }
  323.     /**
  324.      * Get network.
  325.      *
  326.      * @return string
  327.      */
  328.     public function getNetwork()
  329.     {
  330.         return $this->network;
  331.     }
  332.     /**
  333.      * Set label.
  334.      *
  335.      * @param string $label
  336.      *
  337.      * @return UserOrderTokenEntity
  338.      */
  339.     public function setLabel($label)
  340.     {
  341.         $this->label $label;
  342.         return $this;
  343.     }
  344.     /**
  345.      * Get label.
  346.      *
  347.      * @return string
  348.      */
  349.     public function getLabel()
  350.     {
  351.         return $this->label;
  352.     }
  353.     /**
  354.      * Set status.
  355.      *
  356.      * @param string $status
  357.      *
  358.      * @return UserOrderTokenEntity
  359.      */
  360.     public function setStatus($status)
  361.     {
  362.         $this->status $status;
  363.         return $this;
  364.     }
  365.     /**
  366.      * Get status.
  367.      *
  368.      * @return string
  369.      */
  370.     public function getStatus()
  371.     {
  372.         return $this->status;
  373.     }
  374.     /**
  375.      * Set createdBy.
  376.      *
  377.      * @param string $createdBy
  378.      *
  379.      * @return UserOrderTokenEntity
  380.      */
  381.     public function setCreatedBy($createdBy)
  382.     {
  383.         $this->createdBy $createdBy;
  384.         return $this;
  385.     }
  386.     /**
  387.      * Get createdBy.
  388.      *
  389.      * @return string
  390.      */
  391.     public function getCreatedBy()
  392.     {
  393.         return $this->createdBy;
  394.     }
  395.     /**
  396.      * Set createdAt.
  397.      *
  398.      * @param \DateTime $createdAt
  399.      *
  400.      * @return UserOrderTokenEntity
  401.      */
  402.     public function setCreatedAt($createdAt)
  403.     {
  404.         $this->createdAt $createdAt;
  405.         return $this;
  406.     }
  407.     /**
  408.      * Get createdAt.
  409.      *
  410.      * @return \DateTime
  411.      */
  412.     public function getCreatedAt()
  413.     {
  414.         return $this->createdAt;
  415.     }
  416.     /**
  417.      * Set updatedBy.
  418.      *
  419.      * @param string $updatedBy
  420.      *
  421.      * @return UserOrderTokenEntity
  422.      */
  423.     public function setUpdatedBy($updatedBy)
  424.     {
  425.         $this->updatedBy $updatedBy;
  426.         return $this;
  427.     }
  428.     /**
  429.      * Get updatedBy.
  430.      *
  431.      * @return string
  432.      */
  433.     public function getUpdatedBy()
  434.     {
  435.         return $this->updatedBy;
  436.     }
  437.     /**
  438.      * Set updatedAt.
  439.      *
  440.      * @param \DateTime $updatedAt
  441.      *
  442.      * @return UserOrderTokenEntity
  443.      */
  444.     public function setUpdatedAt($updatedAt)
  445.     {
  446.         $this->updatedAt $updatedAt;
  447.         return $this;
  448.     }
  449.     /**
  450.      * Get updatedAt.
  451.      *
  452.      * @return \DateTime
  453.      */
  454.     public function getUpdatedAt()
  455.     {
  456.         return $this->updatedAt;
  457.     }
  458.     /**
  459.      * Set user.
  460.      *
  461.      * @param \App\Entity\UserEntity|null $user
  462.      *
  463.      * @return UserOrderTokenEntity
  464.      */
  465.     public function setUser(\App\Entity\UserEntity $user null)
  466.     {
  467.         $this->user $user;
  468.         return $this;
  469.     }
  470.     /**
  471.      * Get user.
  472.      *
  473.      * @return \App\Entity\UserEntity|null
  474.      */
  475.     public function getUser()
  476.     {
  477.         return $this->user;
  478.     }
  479.     /**
  480.      * @return Collection<int, UserBonusTokenEntity>
  481.      */
  482.     public function getUserBonusTokens(): Collection
  483.     {
  484.         return $this->userBonusTokens;
  485.     }
  486.     public function addUserBonusToken(UserBonusTokenEntity $userBonusToken): static
  487.     {
  488.         if (!$this->userBonusTokens->contains($userBonusToken)) {
  489.             $this->userBonusTokens->add($userBonusToken);
  490.             $userBonusToken->setUserOrderToken($this);
  491.         }
  492.         return $this;
  493.     }
  494.     public function removeUserBonusToken(UserBonusTokenEntity $userBonusToken): static
  495.     {
  496.         if ($this->userBonusTokens->removeElement($userBonusToken)) {
  497.             // set the owning side to null (unless already changed)
  498.             if ($userBonusToken->getUserOrderToken() === $this) {
  499.                 $userBonusToken->setUserOrderToken(null);
  500.             }
  501.         }
  502.         return $this;
  503.     }
  504.     /**
  505.      * @return Collection<int, UserEmailEntity>
  506.      */
  507.     public function getUserEmails(): Collection
  508.     {
  509.         return $this->userEmails;
  510.     }
  511.     public function addUserEmail(UserEmailEntity $userEmail): static
  512.     {
  513.         if (!$this->userEmails->contains($userEmail)) {
  514.             $this->userEmails->add($userEmail);
  515.             $userEmail->setUserOrderToken($this);
  516.         }
  517.         return $this;
  518.     }
  519.     public function removeUserEmail(UserEmailEntity $userEmail): static
  520.     {
  521.         if ($this->userEmails->removeElement($userEmail)) {
  522.             // set the owning side to null (unless already changed)
  523.             if ($userEmail->getUserOrderToken() === $this) {
  524.                 $userEmail->setUserOrderToken(null);
  525.             }
  526.         }
  527.         return $this;
  528.     }
  529.     public function getInquirySentCtr(): ?int
  530.     {
  531.         return $this->inquirySentCtr;
  532.     }
  533.     public function setInquirySentCtr(int $inquirySentCtr): static
  534.     {
  535.         $this->inquirySentCtr $inquirySentCtr;
  536.         return $this;
  537.     }
  538. }