<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToStringTransformer;
/**
* @ORM\Entity(repositoryClass="App\Repository\UserBonusTokenRepository")
* @ORM\Table(name="user_bonus_token")
* @ORM\HasLifecycleCallbacks()
*/
class UserBonusTokenEntity
{
/**
* @ORM\Column(type="bigint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="amount",type="decimal", precision=18, scale=8)
*/
protected $amount;
/**
* @ORM\Column(name="created_by", type="string", length=50)
*/
protected $createdBy;
/**
* @ORM\Column(name="created_at", type="datetime")
*/
protected $createdAt;
/**
* @ORM\Column(name="updated_by", type="string", length=50)
*/
protected $updatedBy;
/**
* @ORM\Column(name="updated_at", type="datetime")
*/
protected $updatedAt;
/**
* @ORM\ManyToOne(targetEntity="UserEntity", inversedBy="userBonusTokens")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
/**
* @ORM\ManyToOne(targetEntity="BonusEntity", inversedBy="userBonusTokens")
* @ORM\JoinColumn(name="bonus_id", referencedColumnName="id")
*/
protected $bonus;
/**
* @ORM\ManyToOne(targetEntity="UserOrderTokenEntity", inversedBy="userBonusTokens")
* @ORM\JoinColumn(name="user_order_token_id", referencedColumnName="id")
*/
protected $userOrderToken;
/**
* @ORM\ManyToOne(targetEntity="UserStakeTokenEntity", inversedBy="userBonusTokens")
* @ORM\JoinColumn(name="user_stake_token_id", referencedColumnName="id")
*/
protected $userStakeToken;
/**
* @ORM\ManyToOne(targetEntity="ReferralEntity", inversedBy="userBonusTokens")
* @ORM\JoinColumn(name="referral_id", referencedColumnName="id")
*/
protected $referral;
/**
* @ORM\ManyToOne(targetEntity="ReferralEntity", inversedBy="secondaryUserBonusTokens")
* @ORM\JoinColumn(name="secondary_referral_id", referencedColumnName="id")
*/
protected $secondaryReferral;
/**
* @ORM\ManyToOne(targetEntity="ReferralEntity", inversedBy="thirdUserBonusTokens")
* @ORM\JoinColumn(name="third_referral_id", referencedColumnName="id")
*/
protected $thirdReferral;
/**
* Set createdAt
*
* @ORM\PrePersist
*/
public function setCreatedAtValue()
{
$this->createdBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
$this->createdAt = new \DateTime();
$this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
$this->updatedAt = new \DateTime();
$this->status = 'Pending';
}
/**
* Set updatedAt
*
* @ORM\PreUpdate
*/
public function setUpdatedAtValue()
{
$this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
$this->updatedAt = new \DateTime();
}
public function __construct($data=null)
{
if(!is_null($data)) {
}
}
/*--------------------------------------------------------------------------------------------------------*/
/* User Defined Setters and Getters */
/*--------------------------------------------------------------------------------------------------------*/
/**
* Get idEncoded
*
* @return string
*/
public function getIdEncoded() {
return base64_encode($this->id);
}
/**
* Get parsedId
*
* @return string
*/
public function getParsedId() {
return sprintf("%06d", $this->id);
}
/**
* Get createdAtAsString
*
* @return string
*/
public function getCreatedAtAsString()
{
$dttst = new DateTimeToStringTransformer();
return !empty($this->createdAt) ? date('m/d/Y', strtotime($dttst->transform($this->createdAt))) : '';
}
/*--------------------------------------------------------------------------------------------------------*/
/* Setters and Getters */
/*--------------------------------------------------------------------------------------------------------*/
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set amount.
*
* @param string $amount
*
* @return UserBonusTokenEntity
*/
public function setAmount($amount)
{
$this->amount = $amount;
return $this;
}
/**
* Get amount.
*
* @return string
*/
public function getAmount()
{
return $this->amount;
}
/**
* Set createdBy.
*
* @param string $createdBy
*
* @return UserBonusTokenEntity
*/
public function setCreatedBy($createdBy)
{
$this->createdBy = $createdBy;
return $this;
}
/**
* Get createdBy.
*
* @return string
*/
public function getCreatedBy()
{
return $this->createdBy;
}
/**
* Set createdAt.
*
* @param \DateTime $createdAt
*
* @return UserBonusTokenEntity
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt.
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedBy.
*
* @param string $updatedBy
*
* @return UserBonusTokenEntity
*/
public function setUpdatedBy($updatedBy)
{
$this->updatedBy = $updatedBy;
return $this;
}
/**
* Get updatedBy.
*
* @return string
*/
public function getUpdatedBy()
{
return $this->updatedBy;
}
/**
* Set updatedAt.
*
* @param \DateTime $updatedAt
*
* @return UserBonusTokenEntity
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt.
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set user.
*
* @param \App\Entity\UserEntity|null $user
*
* @return UserBonusTokenEntity
*/
public function setUser(\App\Entity\UserEntity $user = null)
{
$this->user = $user;
return $this;
}
/**
* Get user.
*
* @return \App\Entity\UserEntity|null
*/
public function getUser()
{
return $this->user;
}
/**
* Set bonus.
*
* @param \App\Entity\BonusEntity|null $bonus
*
* @return UserBonusTokenEntity
*/
public function setBonus(\App\Entity\BonusEntity $bonus = null)
{
$this->bonus = $bonus;
return $this;
}
/**
* Get bonus.
*
* @return \App\Entity\BonusEntity|null
*/
public function getBonus()
{
return $this->bonus;
}
/**
* Set userOrderToken.
*
* @param \App\Entity\UserOrderTokenEntity|null $userOrderToken
*
* @return UserBonusTokenEntity
*/
public function setUserOrderToken(\App\Entity\UserOrderTokenEntity $userOrderToken = null)
{
$this->userOrderToken = $userOrderToken;
return $this;
}
/**
* Get userOrderToken.
*
* @return \App\Entity\UserOrderTokenEntity|null
*/
public function getUserOrderToken()
{
return $this->userOrderToken;
}
/**
* Set referral.
*
* @param \App\Entity\ReferralEntity|null $referral
*
* @return UserBonusTokenEntity
*/
public function setReferral(\App\Entity\ReferralEntity $referral = null)
{
$this->referral = $referral;
return $this;
}
/**
* Get referral.
*
* @return \App\Entity\ReferralEntity|null
*/
public function getReferral()
{
return $this->referral;
}
/**
* Set secondaryReferral.
*
* @param \App\Entity\ReferralEntity|null $secondaryReferral
*
* @return UserBonusTokenEntity
*/
public function setSecondaryReferral(\App\Entity\ReferralEntity $secondaryReferral = null)
{
$this->secondaryReferral = $secondaryReferral;
return $this;
}
/**
* Get secondaryReferral.
*
* @return \App\Entity\ReferralEntity|null
*/
public function getSecondaryReferral()
{
return $this->secondaryReferral;
}
/**
* Set thirdReferral.
*
* @param \App\Entity\ReferralEntity|null $thirdReferral
*
* @return UserBonusTokenEntity
*/
public function setThirdReferral(\App\Entity\ReferralEntity $thirdReferral = null)
{
$this->thirdReferral = $thirdReferral;
return $this;
}
/**
* Get thirdReferral.
*
* @return \App\Entity\ReferralEntity|null
*/
public function getThirdReferral()
{
return $this->thirdReferral;
}
public function getUserStakeToken(): ?UserStakeTokenEntity
{
return $this->userStakeToken;
}
public function setUserStakeToken(?UserStakeTokenEntity $userStakeToken): static
{
$this->userStakeToken = $userStakeToken;
return $this;
}
}