src/Entity/UserEntity.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\UserRepository")
  10.  * @ORM\Table(name="user")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class UserEntity
  14. {
  15.     /**
  16.      * @ORM\Column(type="bigint")
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue(strategy="AUTO")
  19.      */
  20.     protected $id;
  21.     /**
  22.      * @ORM\Column(type="string")
  23.      */
  24.     protected $password;
  25.      /**
  26.      * @ORM\Column(name="forgot_password_code", type="string", nullable=true)
  27.      */
  28.     protected $forgotPasswordCode;
  29.     /**
  30.      * @ORM\Column(type="string")
  31.      */
  32.     protected $type;
  33.     /**
  34.      * @ORM\Column(name="is_active", type="boolean")
  35.      */
  36.     protected $isActive;
  37.     /**
  38.      * @ORM\Column(name="has_first_referral", type="boolean")
  39.      */
  40.     protected $hasFirstReferral;
  41.     /**
  42.      * @ORM\Column(name="has_enabled_two_fa", type="boolean")
  43.      */
  44.     protected $hasEnabledTwoFa;
  45.     /**
  46.      * @ORM\Column(name="is_newsletter_subscriber", type="boolean", nullable=true)
  47.      */
  48.     protected $isNewsletterSubscriber;
  49.     /**
  50.      * @ORM\Column(name="two_fa", type="boolean")
  51.      */
  52.     protected $twoFa;
  53.     
  54.      /**
  55.      * @ORM\Column(name="two_fa_code", type="string", nullable=true)
  56.      */
  57.     protected $twoFaCode;
  58.      /**
  59.      * @ORM\Column(name="status", type="string")
  60.      */
  61.     protected $status;
  62.     /**
  63.      * @ORM\Column(name="first_name", type="string", nullable=true)
  64.      */
  65.     protected $firstName;
  66.     /**
  67.      * @ORM\Column(name="last_name", type="string", nullable=true)
  68.      */
  69.     protected $lastName;
  70.     /**
  71.      * @ORM\Column(name="email", type="string")
  72.      */
  73.     protected $email;
  74.     /**
  75.      * @ORM\Column(name="token", type="string")
  76.      */
  77.     protected $token;
  78.     /**
  79.      * @ORM\Column(name="referral_code", type="string", nullable=true)
  80.      */
  81.     protected $referralCode;
  82.      /**
  83.      * @ORM\Column(name="exchange_phrase", type="string", nullable=true)
  84.      */
  85.     protected $exchangePhrase;
  86.     /**
  87.      * @ORM\Column(name="ip_address", type="string", nullable=true)
  88.      */
  89.     protected $ipAddress;
  90.     
  91.     /**
  92.      * @ORM\Column(name="clo_address", type="string", nullable=true)
  93.      */
  94.     protected $cloAddress;
  95.      /**
  96.      * @ORM\Column(name="wallet_address", type="string", nullable=true)
  97.      */
  98.     protected $walletAddress;
  99.     
  100.      /**
  101.      * @ORM\Column(name="kyc_status", type="string", nullable=true)
  102.      */
  103.     protected $kycStatus;
  104.     
  105.      /**
  106.      * @ORM\Column(name="birth_date", type="datetime", nullable=true)
  107.      */
  108.     protected $birthDate;
  109.      /**
  110.      * @ORM\Column(name="phone_no", type="string", nullable=true)
  111.      */
  112.     protected $phoneNo;
  113.      /**
  114.      * @ORM\Column(name="nationality", type="string", nullable=true)
  115.      */
  116.     protected $nationality;
  117.     
  118.      /**
  119.      * @ORM\Column(name="address1", type="string", nullable=true)
  120.      */
  121.     protected $address1;
  122.      /**
  123.      * @ORM\Column(name="address2", type="string", nullable=true)
  124.      */
  125.     protected $address2;
  126.     
  127.      /**
  128.      * @ORM\Column(name="city", type="string", nullable=true)
  129.      */
  130.     protected $city;
  131.      /**
  132.      * @ORM\Column(name="zip_code", type="string", nullable=true)
  133.      */
  134.     protected $zipCode;
  135.       /**
  136.      * @ORM\Column(name="fb_page_link", type="string", nullable=true)
  137.      */
  138.     protected $fbPageLink;
  139.     
  140.       /**
  141.      * @ORM\Column(name="twitter_page_link", type="string", nullable=true)
  142.      */
  143.     protected $twitterPageLink;
  144.     
  145.       /**
  146.      * @ORM\Column(name="ig_page_link", type="string", nullable=true)
  147.      */
  148.     protected $igPageLink;
  149.     
  150.      /**
  151.      * @ORM\Column(name="id_file", type="string", nullable=true)
  152.      */
  153.     protected $idFile;
  154.      /**
  155.      * @ORM\Column(name="id_file_parse", type="string", nullable=true)
  156.      */
  157.     protected $idFileParse;
  158.      /**
  159.      * @ORM\Column(name="id_type", type="string", nullable=true)
  160.      */
  161.     protected $idType;
  162.      /**
  163.      * @ORM\Column(name="avatar", type="string", nullable=true)
  164.      */
  165.     protected $avatar;
  166.     /**
  167.      * @ORM\Column(name="card_no", type="string", nullable=true)
  168.      */
  169.     protected $cardNo;
  170.        /**
  171.      * @ORM\Column(name="country", type="string", nullable=true)
  172.      */
  173.     protected $country;
  174.     /**
  175.      * @ORM\Column(name="created_by", type="string", length=50)
  176.      */
  177.     protected $createdBy;
  178.     /**
  179.      * @ORM\Column(name="created_at", type="datetime")
  180.      */
  181.     protected $createdAt;
  182.     /**
  183.      * @ORM\Column(name="updated_by", type="string", length=50)
  184.      */
  185.     protected $updatedBy;
  186.     /**
  187.      * @ORM\Column(name="updated_at", type="datetime")
  188.      */
  189.     protected $updatedAt;
  190.     /**
  191.      * @ORM\OneToOne(targetEntity="ReferralEntity", inversedBy="referrent")
  192.      * @ORM\JoinColumn(name="referral_id", referencedColumnName="id")
  193.      */
  194.     protected $referral;
  195.         /**
  196.      * @ORM\OneToMany(targetEntity="UserOrderTokenEntity", mappedBy="user", cascade={"remove"})
  197.      * @ORM\OrderBy({"createdAt": "DESC"})
  198.      */
  199.     protected $userOrderTokens;
  200.     /**
  201.      * @ORM\OneToMany(targetEntity="ReferralEntity", mappedBy="referrer", cascade={"remove"})
  202.      */
  203.     protected $referrals;
  204.     /**
  205.      * @ORM\OneToMany(targetEntity="UserBonusTokenEntity", mappedBy="user", cascade={"remove"})
  206.      * @ORM\OrderBy({"createdAt": "ASC"})
  207.      */
  208.     protected $userBonusTokens;
  209.     /**
  210.      * @ORM\OneToMany(targetEntity="SupportTicketEntity", mappedBy="user", cascade={"remove"})
  211.      */
  212.     protected $supportTickets;
  213.      /**
  214.      * @ORM\OneToMany(targetEntity="SupportTicketResponseEntity", mappedBy="user", cascade={"remove"})
  215.      */
  216.     protected $supportTicketResponses;
  217.      /**
  218.      * @ORM\OneToMany(targetEntity="NotificationEntity", mappedBy="user", cascade={"remove"})
  219.      */
  220.     protected $notifications;
  221.       /**
  222.      * @ORM\OneToMany(targetEntity="UserAdjustedTokenEntity", mappedBy="user", cascade={"remove"})
  223.      */
  224.     protected $userAdjustedTokens;
  225.     /**
  226.      * @ORM\OneToMany(targetEntity="BannedUserEntity", mappedBy="user", cascade={"remove"})
  227.      */
  228.     protected $bannedUsers;
  229.     /**
  230.      * @ORM\OneToMany(targetEntity="UserStakeTokenEntity", mappedBy="user", cascade={"remove"})
  231.      */
  232.     protected $userStakeTokens;
  233.     /**
  234.      * @ORM\OneToMany(targetEntity="UserEmailEntity", mappedBy="user", cascade={"remove"})
  235.      */
  236.     protected $userEmails;
  237.     /**
  238.      * Set createdAt
  239.      *
  240.      * @ORM\PrePersist
  241.      */
  242.     public function setCreatedAtValue()
  243.     {
  244.         $this->createdBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  245.         $this->createdAt = new \DateTime();
  246.         $this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  247.         $this->updatedAt = new \DateTime();
  248.         $this->status "For Verification";
  249.         $this->isActive true;
  250.         $this->twoFa false;
  251.         $this->isNewsLetterSubscriber false;
  252.         $this->hasFirstReferral false;
  253.         $this->hasEnabledTwoFa false;
  254.         $this->kycStatus 'For-Application';
  255.     }
  256.     /**
  257.      * Set updatedAt
  258.      *
  259.      * @ORM\PreUpdate
  260.      */
  261.     public function setUpdatedAtValue()
  262.     {
  263.         $this->updatedBy = isset($_COOKIE['username']) ? $_COOKIE['username'] : 'System';
  264.         $this->updatedAt = new \DateTime();
  265.     }
  266.         /**
  267.      * Remove the file from the disk
  268.      *
  269.      * @ORM\PreRemove
  270.      */
  271.     public function removeFile() {
  272.         $file $this->getUploadRootDir() . '/' $this->idFileParse;
  273.         if(!empty($this->idFileParse) && file_exists($file)) unlink($file);
  274.     }
  275.         /**
  276.      * Get uploadDir
  277.      *
  278.      * @return string
  279.      */
  280.     public function getUploadDir() {
  281.         return '/uploads/file';
  282.     }
  283.     /**
  284.      * Get uploadRootDir
  285.      *
  286.      * @return string
  287.      */
  288.     public function getUploadRootDir() {
  289.         return __DIR__ './../../public' $this->getUploadDir();
  290.     }
  291.     /**
  292.      * get fileWebPath
  293.      *
  294.      * @return string
  295.      */
  296.     public function getFileWebPath() {
  297.         $parsedDesc $this->idFileParse;
  298.         $file $this->getUploadRootDir() . '/' $parsedDesc;
  299.      
  300.         if(!empty($parsedDesc) ) {
  301.             return   $this->getUploadDir() . '/' $parsedDesc;
  302.         } else {
  303.             return '';
  304.         }
  305.        
  306.     }
  307.     
  308.     public function __construct($data null)
  309.     {
  310.         if (!is_null($data)) {
  311.             $this->userOrderTokens = new ArrayCollection();
  312.             $this->userBonusTokens = new ArrayCollection();
  313.             $this->userAdjustedTokens = new ArrayCollection();
  314.             $this->bannedUsers =  new ArrayCollection();
  315.         }
  316.         $this->referrals = new ArrayCollection();
  317.         $this->supportTickets = new ArrayCollection();
  318.         $this->supportTicketResponses = new ArrayCollection();
  319.         $this->notifications = new ArrayCollection();
  320.         $this->userStakeTokens = new ArrayCollection();
  321.         $this->userEmails = new ArrayCollection(); 
  322.     }
  323.     /**
  324.      * Get fullName
  325.      *
  326.      * @return string
  327.      */
  328.     public function getFullName()
  329.     {
  330.         return $this->firstName .' ' $this->lastName;
  331.     }
  332.     /**
  333.      * Get parsedCardNo
  334.      *
  335.      * @return string
  336.      */
  337.     public function getParsedCardNo()
  338.     {
  339.         return wordwrap($this->cardNo ' ' true );
  340.     }
  341.     /**
  342.      * Get pinNo
  343.      *
  344.      * @return string
  345.      */
  346.     public function getPinNo()
  347.     {
  348.         return str_pad($this->id9"0"STR_PAD_RIGHT); ;
  349.     }
  350.     /**
  351.      * Get totalBalance
  352.      *
  353.      * @return string
  354.      */
  355.     public function totalBalance() {
  356.         $balance 0;
  357.         foreach ($this->userOrderTokens as $order){
  358.             if($order->getStatus() == 'Completed'){
  359.                 $balance += $order->getTokenAmount();
  360.             }
  361.         }
  362.         foreach ($this->userBonusTokens as $bonus){
  363.            $balance += $bonus->getAmount();
  364.         }
  365.         foreach ($this->userAdjustedTokens as $token){
  366.            $balance += $token->getAmount();
  367.         }
  368.         foreach ($this->userStakeTokens as $token){
  369.             if($token->getStatus() == 'On Staking'){
  370.                 $balance -= $token->getTokenAmount();
  371.             }
  372.          }
  373.         return $balance;
  374.     }
  375.     
  376.     
  377.     
  378. /**
  379.      * Get totalStakeReward
  380.      *
  381.      * @return string
  382.      */
  383.     public function totalStakeReward() {
  384.         $balance 0;
  385.         foreach ($this->userStakeTokens as $token){
  386.             if($token->getStatus() == 'Completed'){
  387.                 $balance += $token->getInterest();
  388.             }
  389.          }
  390.         return $balance;
  391.     }
  392.     
  393.      /**
  394.      * Get totalStakeBalance
  395.      *
  396.      * @return string
  397.      */
  398.     public function totalStakeBalance() {
  399.         $balance 0;
  400.         foreach ($this->userOrderTokens as $order){
  401.             if($order->getStatus() == 'Completed'){
  402.                 $balance += $order->getTokenAmount();
  403.             }
  404.         }
  405.         foreach ($this->userBonusTokens as $bonus){
  406.            $balance += $bonus->getAmount();
  407.         }
  408.         foreach ($this->userAdjustedTokens as $token){
  409.            $balance += $token->getAmount();
  410.         }
  411.         foreach ($this->userStakeTokens as $token){
  412.             $balance -= $token->getTokenAmount();
  413.          }
  414.         return $balance;
  415.     }
  416.      /**
  417.      * Get totalOnStakeBalance
  418.      *
  419.      * @return string
  420.      */
  421.     public function totalOnStakeBalance() {
  422.         $balance 0;
  423.         foreach ($this->userStakeTokens as $token){
  424.             if($token->getStatus() == 'On Staking'){
  425.                 $balance += $token->getTokenAmount();
  426.             }
  427.          }
  428.         return $balance;
  429.     }
  430. public function getTotalReferrals()
  431. {
  432.     $qb $this->createQueryBuilder('r');
  433.     
  434.     $qb->select('SELECT COUNT(r.`id`) AS totalReferral, r.`referrer_id` FROM `referral` r WHERE r.`status` = `Completed` GROUP BY r.`referrer_id` ORDER BY `totalReferral` DESC');
  435.    
  436.     return $qb->getQuery()->getResult();
  437. }
  438.      public function totalreferrallist($user, array $get){
  439.         $referralcount $sql->query("LEFT JOIN SELECT COUNT(r.`id`) AS totalReferral, r.`referrer_id` FROM `referral` r WHERE r.`status` = 'Completed' GROUP BY r.`referrer_id`;");
  440.     $query $this->getEntityManager()->getConnection()->prepare("
  441.                   LEFT JOIN
  442.                   SELECT COUNT(r.`id`) AS totalReferral, r.`referrer_id` FROM `referral` r WHERE r.`status` = 'Completed' GROUP BY r.`referrer_id`;
  443.         ");
  444.         $query->execute($stmtParams);
  445.         $result $query->fetchAll();
  446.         return !empty($result) ? $result[0]['totalreferrallist'] : 0;
  447.     }  
  448.     
  449.   /**
  450.      * Get totalPurchase
  451.      *
  452.      * @return int
  453.      */
  454.     public function getTotalPurchase() {
  455.         $balance 0;
  456.         foreach ($this->userOrderTokens as $order){
  457.             if($order->getStatus() == 'Completed'){
  458.                
  459.                  $balance += $order->getTokenAmount();
  460.             }
  461.         }
  462.         return $balance;
  463.     }
  464.     /**
  465.      * Get totalBonus
  466.      *
  467.      * @return int
  468.      */
  469.     public function getTotalBonus() {
  470.         $balance 0;
  471.            
  472.         foreach ($this->userBonusTokens as $bonus){
  473.              $balance += $bonus->getAmount();
  474.         }
  475.         return $balance;
  476.     }
  477.     
  478.     /**
  479.      * Get septTotalBalance
  480.      *
  481.      * @return string
  482.      */
  483.     public function septTotalBalance() {
  484.         $balance 0;
  485.         $d1 = new \DateTime('2022-09-30 24:59:59');
  486.  
  487.         foreach ($this->userOrderTokens as $order){
  488.             if($order->getStatus() == 'Completed'){
  489.                
  490.                 if($order->getUpdatedAt() <= $d1){
  491.                     $balance += $order->getTokenAmount();
  492.                  
  493.                 }
  494.             }
  495.         }
  496.         foreach ($this->userBonusTokens as $bonus){
  497.             if($bonus->getUpdatedAt() <= $d1){
  498.                  $balance += $bonus->getAmount();
  499.             }
  500.         }
  501.         foreach ($this->userAdjustedTokens as $token){
  502.             if($token->getUpdatedAt() <= $d1){
  503.              $balance += $token->getAmount();
  504.             }
  505.         }
  506.         return $balance;
  507.     }
  508.     /**
  509.      * Get hasTaskTokens
  510.      *
  511.      * @return boolean
  512.      */
  513.     public function hasTaskTokens() {
  514.         $balance 0;
  515.         foreach ($this->userOrderTokens as $order){
  516.             if($order->getStatus() == 'Completed'){
  517.                 $balance += $order->getTokenAmount();
  518.             }
  519.         }
  520.         foreach ($this->userBonusTokens as $bonus){
  521.            $balance += $bonus->getAmount();
  522.         }
  523.         foreach ($this->userAdjustedTokens as $token){
  524.            $balance += $token->getAmount();
  525.         }
  526.         return $balance >= 100000 true false ;
  527.     }
  528.     /**
  529.      * Get btcContribution
  530.      *
  531.      * @return string
  532.      */
  533.     public function btcContribution() {
  534.         $ctr 0;
  535.         foreach ($this->userOrderTokens as $order){
  536.             if($order->getStatus() == 'Completed' && $order->getNetwork() == 'BTC' ){
  537.                 $ctr += $order->getTokenValue();
  538.             }
  539.         }
  540.         return $ctr;
  541.     }
  542.     /**
  543.      * Get ltcContribution
  544.      *0
  545.      * @return string
  546.      */
  547.     public function ltcContribution() {
  548.         $ctr 0;
  549.         foreach ($this->userOrderTokens as $order){
  550.             if($order->getStatus() == 'Completed' && $order->getNetwork() == 'LTC' ){
  551.                 $ctr += $order->getAmount();
  552.             }
  553.         }
  554.         return $ctr;
  555.     }
  556.     /**
  557.      * Get dogeContribution
  558.      *0
  559.      * @return string
  560.      */
  561.     public function dogeContribution() {
  562.         $ctr 0;
  563.         foreach ($this->userOrderTokens as $order){
  564.             if($order->getStatus() == 'Completed' && $order->getNetwork() == 'DOGE' ){
  565.                 $ctr += $order->getAmount();
  566.             }
  567.         }
  568.         return $ctr;
  569.     }
  570.     /**
  571.      * Get ethContribution
  572.      *0
  573.      * @return string
  574.      */
  575.     public function ethContribution() {
  576.         $ctr 0;
  577.         foreach ($this->userOrderTokens as $order){
  578.             if($order->getStatus() == 'Completed' && $order->getNetwork() == 'ETH' ){
  579.                 $ctr += $order->getTokenValue();
  580.             }
  581.         }
  582.         return $ctr;
  583.     }
  584.         /**
  585.      * Get bnbContribution
  586.      *0
  587.      * @return string
  588.      */
  589.     public function bnbContribution() {
  590.         $ctr 0;
  591.         foreach ($this->userOrderTokens as $order){
  592.             if($order->getStatus() == 'Completed' && $order->getNetwork() == 'BNB' ){
  593.                 $ctr += $order->getTokenValue();
  594.             }
  595.         }
  596.         return $ctr;
  597.     }
  598.     
  599.     /**
  600.      * Get referralCtr
  601.      *
  602.      * @return string
  603.      */
  604.     public function getReferralCtr() {
  605.         return count($this->getReferrals());
  606.     }
  607.     /*--------------------------------------------------------------------------------------------------------*/
  608.     /*                        Defined Setters and Getters                                                          */
  609.     /*--------------------------------------------------------------------------------------------------------*/
  610.     /**
  611.      * Get id.
  612.      *
  613.      * @return int
  614.      */
  615.     public function getId()
  616.     {
  617.         return $this->id;
  618.     }
  619.     /**
  620.      * Set password.
  621.      *
  622.      * @param string $password
  623.      *
  624.      * @return UserEntity
  625.      */
  626.     public function setPassword($password)
  627.     {
  628.         $this->password $password;
  629.         return $this;
  630.     }
  631.     /**
  632.      * Get password.
  633.      *
  634.      * @return string
  635.      */
  636.     public function getPassword()
  637.     {
  638.         return $this->password;
  639.     }
  640.     /**
  641.      * Set type.
  642.      *
  643.      * @param string $type
  644.      *
  645.      * @return UserEntity
  646.      */
  647.     public function setType($type)
  648.     {
  649.         $this->type $type;
  650.         return $this;
  651.     }
  652.     /**
  653.      * Get type.
  654.      *
  655.      * @return string
  656.      */
  657.     public function getType()
  658.     {
  659.         return $this->type;
  660.     }
  661.     /**
  662.      * Set isActive.
  663.      *
  664.      * @param bool $isActive
  665.      *
  666.      * @return UserEntity
  667.      */
  668.     public function setIsActive($isActive)
  669.     {
  670.         $this->isActive $isActive;
  671.         return $this;
  672.     }
  673.     /**
  674.      * Get isActive.
  675.      *
  676.      * @return bool
  677.      */
  678.     public function getIsActive()
  679.     {
  680.         return $this->isActive;
  681.     }
  682.     /**
  683.      * Set firstName.
  684.      *
  685.      * @param string|null $firstName
  686.      *
  687.      * @return UserEntity
  688.      */
  689.     public function setFirstName($firstName null)
  690.     {
  691.         $this->firstName $firstName;
  692.         return $this;
  693.     }
  694.     /**
  695.      * Get firstName.
  696.      *
  697.      * @return string|null
  698.      */
  699.     public function getFirstName()
  700.     {
  701.         return $this->firstName;
  702.     }
  703.     /**
  704.      * Set lastName.
  705.      *
  706.      * @param string|null $lastName
  707.      *
  708.      * @return UserEntity
  709.      */
  710.     public function setLastName($lastName null)
  711.     {
  712.         $this->lastName $lastName;
  713.         return $this;
  714.     }
  715.     /**
  716.      * Get lastName.
  717.      *
  718.      * @return string|null
  719.      */
  720.     public function getLastName()
  721.     {
  722.         return $this->lastName;
  723.     }
  724.     /**
  725.      * Set email.
  726.      *
  727.      * @param string $email
  728.      *
  729.      * @return UserEntity
  730.      */
  731.     public function setEmail($email)
  732.     {
  733.         $this->email $email;
  734.         return $this;
  735.     }
  736.     /**
  737.      * Get email.
  738.      *
  739.      * @return string
  740.      */
  741.     public function getEmail()
  742.     {
  743.         return $this->email;
  744.     }
  745.     /**
  746.      * Set createdBy.
  747.      *
  748.      * @param string $createdBy
  749.      *
  750.      * @return UserEntity
  751.      */
  752.     public function setCreatedBy($createdBy)
  753.     {
  754.         $this->createdBy $createdBy;
  755.         return $this;
  756.     }
  757.     /**
  758.      * Get createdBy.
  759.      *
  760.      * @return string
  761.      */
  762.     public function getCreatedBy()
  763.     {
  764.         return $this->createdBy;
  765.     }
  766.     /**
  767.      * Set createdAt.
  768.      *
  769.      * @param \DateTime $createdAt
  770.      *
  771.      * @return UserEntity
  772.      */
  773.     public function setCreatedAt($createdAt)
  774.     {
  775.         $this->createdAt $createdAt;
  776.         return $this;
  777.     }
  778.     /**
  779.      * Get createdAt.
  780.      *
  781.      * @return \DateTime
  782.      */
  783.     public function getCreatedAt()
  784.     {
  785.         return $this->createdAt;
  786.     }
  787.     /**
  788.      * Set updatedBy.
  789.      *
  790.      * @param string $updatedBy
  791.      *
  792.      * @return UserEntity
  793.      */
  794.     public function setUpdatedBy($updatedBy)
  795.     {
  796.         $this->updatedBy $updatedBy;
  797.         return $this;
  798.     }
  799.     /**
  800.      * Get updatedBy.
  801.      *
  802.      * @return string
  803.      */
  804.     public function getUpdatedBy()
  805.     {
  806.         return $this->updatedBy;
  807.     }
  808.     /**
  809.      * Set updatedAt.
  810.      *
  811.      * @param \DateTime $updatedAt
  812.      *
  813.      * @return UserEntity
  814.      */
  815.     public function setUpdatedAt($updatedAt)
  816.     {
  817.         $this->updatedAt $updatedAt;
  818.         return $this;
  819.     }
  820.     /**
  821.      * Get updatedAt.
  822.      *
  823.      * @return \DateTime
  824.      */
  825.     public function getUpdatedAt()
  826.     {
  827.         return $this->updatedAt;
  828.     }
  829.     /**
  830.      * Set status.
  831.      *
  832.      * @param bool $status
  833.      *
  834.      * @return UserEntity
  835.      */
  836.     public function setStatus($status)
  837.     {
  838.         $this->status $status;
  839.         return $this;
  840.     }
  841.     /**
  842.      * Get status.
  843.      *
  844.      * @return bool
  845.      */
  846.     public function getStatus()
  847.     {
  848.         return $this->status;
  849.     }
  850.     /**
  851.      * Add userOrderToken.
  852.      *
  853.      * @param \App\Entity\UserOrderTokenEntity $userOrderToken
  854.      *
  855.      * @return UserEntity
  856.      */
  857.     public function addUserOrderToken(\App\Entity\UserOrderTokenEntity $userOrderToken)
  858.     {
  859.         $this->userOrderTokens[] = $userOrderToken;
  860.         return $this;
  861.     }
  862.     /**
  863.      * Remove userOrderToken.
  864.      *
  865.      * @param \App\Entity\UserOrderTokenEntity $userOrderToken
  866.      *
  867.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  868.      */
  869.     public function removeUserOrderToken(\App\Entity\UserOrderTokenEntity $userOrderToken)
  870.     {
  871.         return $this->userOrderTokens->removeElement($userOrderToken);
  872.     }
  873.     /**
  874.      * Get userOrderTokens.
  875.      *
  876.      * @return \Doctrine\Common\Collections\Collection
  877.      */
  878.     public function getUserOrderTokens()
  879.     {
  880.         return $this->userOrderTokens;
  881.     }
  882.     /**
  883.      * Add referral.
  884.      *
  885.      * @param \App\Entity\ReferralEntity $referral
  886.      *
  887.      * @return UserEntity
  888.      */
  889.     public function addReferral(\App\Entity\ReferralEntity $referral)
  890.     {
  891.         $this->referrals[] = $referral;
  892.         return $this;
  893.     }
  894.     /**
  895.      * Remove referral.
  896.      *
  897.      * @param \App\Entity\ReferralEntity $referral
  898.      *
  899.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  900.      */
  901.     public function removeReferral(\App\Entity\ReferralEntity $referral)
  902.     {
  903.         return $this->referrals->removeElement($referral);
  904.     }
  905.     /**
  906.      * Get referrals.
  907.      *
  908.      * @return \Doctrine\Common\Collections\Collection
  909.      */
  910.     public function getReferrals()
  911.     {
  912.         return $this->referrals;
  913.     }
  914.     /**
  915.      * Add userBonusToken.
  916.      *
  917.      * @param \App\Entity\UserBonusTokenEntity $userBonusToken
  918.      *
  919.      * @return UserEntity
  920.      */
  921.     public function addUserBonusToken(\App\Entity\UserBonusTokenEntity $userBonusToken)
  922.     {
  923.         $this->userBonusTokens[] = $userBonusToken;
  924.         return $this;
  925.     }
  926.     /**
  927.      * Remove userBonusToken.
  928.      *
  929.      * @param \App\Entity\UserBonusTokenEntity $userBonusToken
  930.      *
  931.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  932.      */
  933.     public function removeUserBonusToken(\App\Entity\UserBonusTokenEntity $userBonusToken)
  934.     {
  935.         return $this->userBonusTokens->removeElement($userBonusToken);
  936.     }
  937.     /**
  938.      * Get userBonusTokens.
  939.      *
  940.      * @return \Doctrine\Common\Collections\Collection
  941.      */
  942.     public function getUserBonusTokens()
  943.     {
  944.         return $this->userBonusTokens;
  945.     }
  946.     /**
  947.      * Set referral.
  948.      *
  949.      * @param \App\Entity\ReferralEntity|null $referral
  950.      *
  951.      * @return UserEntity
  952.      */
  953.     public function setReferral(\App\Entity\ReferralEntity $referral null)
  954.     {
  955.         $this->referral $referral;
  956.         return $this;
  957.     }
  958.     /**
  959.      * Get referral.
  960.      *
  961.      * @return \App\Entity\ReferralEntity|null
  962.      */
  963.     public function getReferral()
  964.     {
  965.         return $this->referral;
  966.     }
  967.     /**
  968.      * Set referralCode.
  969.      *
  970.      * @param string|null $referralCode
  971.      *
  972.      * @return UserEntity
  973.      */
  974.     public function setReferralCode($referralCode null)
  975.     {
  976.         $this->referralCode $referralCode;
  977.         return $this;
  978.     }
  979.     /**
  980.      * Get referralCode.
  981.      *
  982.      * @return string|null
  983.      */
  984.     public function getReferralCode()
  985.     {
  986.         return $this->referralCode;
  987.     }
  988.     /**
  989.      * Set token.
  990.      *
  991.      * @param string $token
  992.      *
  993.      * @return UserEntity
  994.      */
  995.     public function setToken($token)
  996.     {
  997.         $this->token $token;
  998.         return $this;
  999.     }
  1000.     /**
  1001.      * Get token.
  1002.      *
  1003.      * @return string
  1004.      */
  1005.     public function getToken()
  1006.     {
  1007.         return $this->token;
  1008.     }
  1009.     /**
  1010.      * Add supportTicket.
  1011.      *
  1012.      * @param \App\Entity\SupportTicketEntity $supportTicket
  1013.      *
  1014.      * @return UserEntity
  1015.      */
  1016.     public function addSupportTicket(\App\Entity\SupportTicketEntity $supportTicket)
  1017.     {
  1018.         $this->supportTickets[] = $supportTicket;
  1019.         return $this;
  1020.     }
  1021.     /**
  1022.      * Remove supportTicket.
  1023.      *
  1024.      * @param \App\Entity\SupportTicketEntity $supportTicket
  1025.      *
  1026.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  1027.      */
  1028.     public function removeSupportTicket(\App\Entity\SupportTicketEntity $supportTicket)
  1029.     {
  1030.         return $this->supportTickets->removeElement($supportTicket);
  1031.     }
  1032.     /**
  1033.      * Get supportTickets.
  1034.      *
  1035.      * @return \Doctrine\Common\Collections\Collection
  1036.      */
  1037.     public function getSupportTickets()
  1038.     {
  1039.         return $this->supportTickets;
  1040.     }
  1041.     /**
  1042.      * Add supportTicketResponse.
  1043.      *
  1044.      * @param \App\Entity\SupportTicketResponseEntity $supportTicketResponse
  1045.      *
  1046.      * @return UserEntity
  1047.      */
  1048.     public function addSupportTicketResponse(\App\Entity\SupportTicketResponseEntity $supportTicketResponse)
  1049.     {
  1050.         $this->supportTicketResponses[] = $supportTicketResponse;
  1051.         return $this;
  1052.     }
  1053.     /**
  1054.      * Remove supportTicketResponse.
  1055.      *
  1056.      * @param \App\Entity\SupportTicketResponseEntity $supportTicketResponse
  1057.      *
  1058.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  1059.      */
  1060.     public function removeSupportTicketResponse(\App\Entity\SupportTicketResponseEntity $supportTicketResponse)
  1061.     {
  1062.         return $this->supportTicketResponses->removeElement($supportTicketResponse);
  1063.     }
  1064.     /**
  1065.      * Get supportTicketResponses.
  1066.      *
  1067.      * @return \Doctrine\Common\Collections\Collection
  1068.      */
  1069.     public function getSupportTicketResponses()
  1070.     {
  1071.         return $this->supportTicketResponses;
  1072.     }
  1073.     /**
  1074.      * Set exchangePhrase.
  1075.      *
  1076.      * @param string|null $exchangePhrase
  1077.      *
  1078.      * @return UserEntity
  1079.      */
  1080.     public function setExchangePhrase($exchangePhrase null)
  1081.     {
  1082.         $this->exchangePhrase $exchangePhrase;
  1083.         return $this;
  1084.     }
  1085.     /**
  1086.      * Get exchangePhrase.
  1087.      *
  1088.      * @return string|null
  1089.      */
  1090.     public function getExchangePhrase()
  1091.     {
  1092.         return $this->exchangePhrase;
  1093.     }
  1094.     /**
  1095.      * Set walletAddress.
  1096.      *
  1097.      * @param string|null $walletAddress
  1098.      *
  1099.      * @return UserEntity
  1100.      */
  1101.     public function setWalletAddress($walletAddress null)
  1102.     {
  1103.         $this->walletAddress $walletAddress;
  1104.         return $this;
  1105.     }
  1106.     /**
  1107.      * Get walletAddress.
  1108.      *
  1109.      * @return string|null
  1110.      */
  1111.     public function getWalletAddress()
  1112.     {
  1113.         return $this->walletAddress;
  1114.     }
  1115.     /**
  1116.      * Add notification.
  1117.      *
  1118.      * @param \App\Entity\NotificationEntity $notification
  1119.      *
  1120.      * @return UserEntity
  1121.      */
  1122.     public function addNotification(\App\Entity\NotificationEntity $notification)
  1123.     {
  1124.         $this->notifications[] = $notification;
  1125.         return $this;
  1126.     }
  1127.     /**
  1128.      * Remove notification.
  1129.      *
  1130.      * @param \App\Entity\NotificationEntity $notification
  1131.      *
  1132.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  1133.      */
  1134.     public function removeNotification(\App\Entity\NotificationEntity $notification)
  1135.     {
  1136.         return $this->notifications->removeElement($notification);
  1137.     }
  1138.     /**
  1139.      * Get notifications.
  1140.      *
  1141.      * @return \Doctrine\Common\Collections\Collection
  1142.      */
  1143.     public function getNotifications()
  1144.     {
  1145.         return $this->notifications;
  1146.     }
  1147.     /**
  1148.      * Set ipAddress.
  1149.      *
  1150.      * @param string|null $ipAddress
  1151.      *
  1152.      * @return UserEntity
  1153.      */
  1154.     public function setIpAddress($ipAddress null)
  1155.     {
  1156.         $this->ipAddress $ipAddress;
  1157.         return $this;
  1158.     }
  1159.     /**
  1160.      * Get ipAddress.
  1161.      *
  1162.      * @return string|null
  1163.      */
  1164.     public function getIpAddress()
  1165.     {
  1166.         return $this->ipAddress;
  1167.     }
  1168.     /**
  1169.      * Set forgotPasswordCode.
  1170.      *
  1171.      * @param string $forgotPasswordCode
  1172.      *
  1173.      * @return UserEntity
  1174.      */
  1175.     public function setForgotPasswordCode($forgotPasswordCode)
  1176.     {
  1177.         $this->forgotPasswordCode $forgotPasswordCode;
  1178.         return $this;
  1179.     }
  1180.     /**
  1181.      * Get forgotPasswordCode.
  1182.      *
  1183.      * @return string
  1184.      */
  1185.     public function getForgotPasswordCode()
  1186.     {
  1187.         return $this->forgotPasswordCode;
  1188.     }
  1189.     /**
  1190.      * Set twoFa.
  1191.      *
  1192.      * @param bool $twoFa
  1193.      *
  1194.      * @return UserEntity
  1195.      */
  1196.     public function setTwoFa($twoFa)
  1197.     {
  1198.         $this->twoFa $twoFa;
  1199.         return $this;
  1200.     }
  1201.     /**
  1202.      * Get twoFa.
  1203.      *
  1204.      * @return bool
  1205.      */
  1206.     public function getTwoFa()
  1207.     {
  1208.         return $this->twoFa;
  1209.     }
  1210.     /**
  1211.      * Set twoFaCode.
  1212.      *
  1213.      * @param string|null $twoFaCode
  1214.      *
  1215.      * @return UserEntity
  1216.      */
  1217.     public function setTwoFaCode($twoFaCode null)
  1218.     {
  1219.         $this->twoFaCode $twoFaCode;
  1220.         return $this;
  1221.     }
  1222.     /**
  1223.      * Get twoFaCode.
  1224.      *
  1225.      * @return string|null
  1226.      */
  1227.     public function getTwoFaCode()
  1228.     {
  1229.         return $this->twoFaCode;
  1230.     }
  1231.     /**
  1232.      * Set hasFirstReferral.
  1233.      *
  1234.      * @param bool $hasFirstReferral
  1235.      *
  1236.      * @return UserEntity
  1237.      */
  1238.     public function setHasFirstReferral($hasFirstReferral)
  1239.     {
  1240.         $this->hasFirstReferral $hasFirstReferral;
  1241.         return $this;
  1242.     }
  1243.     /**
  1244.      * Get hasFirstReferral.
  1245.      *
  1246.      * @return bool
  1247.      */
  1248.     public function getHasFirstReferral()
  1249.     {
  1250.         return $this->hasFirstReferral;
  1251.     }
  1252.     /**
  1253.      * Set hasEnabledTwoFa.
  1254.      *
  1255.      * @param bool $hasEnabledTwoFa
  1256.      *
  1257.      * @return UserEntity
  1258.      */
  1259.     public function setHasEnabledTwoFa($hasEnabledTwoFa)
  1260.     {
  1261.         $this->hasEnabledTwoFa $hasEnabledTwoFa;
  1262.         return $this;
  1263.     }
  1264.     /**
  1265.      * Get hasEnabledTwoFa.
  1266.      *
  1267.      * @return bool
  1268.      */
  1269.     public function getHasEnabledTwoFa()
  1270.     {
  1271.         return $this->hasEnabledTwoFa;
  1272.     }
  1273.     /**
  1274.      * Add userAdjustedToken.
  1275.      *
  1276.      * @param \App\Entity\UserAdjustedTokenEntity $userAdjustedToken
  1277.      *
  1278.      * @return UserEntity
  1279.      */
  1280.     public function addUserAdjustedToken(\App\Entity\UserAdjustedTokenEntity $userAdjustedToken)
  1281.     {
  1282.         $this->userAdjustedTokens[] = $userAdjustedToken;
  1283.         return $this;
  1284.     }
  1285.     /**
  1286.      * Remove userAdjustedToken.
  1287.      *
  1288.      * @param \App\Entity\UserAdjustedTokenEntity $userAdjustedToken
  1289.      *
  1290.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  1291.      */
  1292.     public function removeUserAdjustedToken(\App\Entity\UserAdjustedTokenEntity $userAdjustedToken)
  1293.     {
  1294.         return $this->userAdjustedTokens->removeElement($userAdjustedToken);
  1295.     }
  1296.     /**
  1297.      * Get userAdjustedTokens.
  1298.      *
  1299.      * @return \Doctrine\Common\Collections\Collection
  1300.      */
  1301.     public function getUserAdjustedTokens()
  1302.     {
  1303.         return $this->userAdjustedTokens;
  1304.     }
  1305.     /**
  1306.      * Add bannedUser.
  1307.      *
  1308.      * @param \App\Entity\BannedUserEntity $bannedUser
  1309.      *
  1310.      * @return UserEntity
  1311.      */
  1312.     public function addBannedUser(\App\Entity\BannedUserEntity $bannedUser)
  1313.     {
  1314.         $this->bannedUsers[] = $bannedUser;
  1315.         return $this;
  1316.     }
  1317.     /**
  1318.      * Remove bannedUser.
  1319.      *
  1320.      * @param \App\Entity\BannedUserEntity $bannedUser
  1321.      *
  1322.      * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
  1323.      */
  1324.     public function removeBannedUser(\App\Entity\BannedUserEntity $bannedUser)
  1325.     {
  1326.         return $this->bannedUsers->removeElement($bannedUser);
  1327.     }
  1328.     /**
  1329.      * Get bannedUsers.
  1330.      *
  1331.      * @return \Doctrine\Common\Collections\Collection
  1332.      */
  1333.     public function getBannedUsers()
  1334.     {
  1335.         return $this->bannedUsers;
  1336.     }
  1337.     /**
  1338.      * Set cloAddress.
  1339.      *
  1340.      * @param string|null $cloAddress
  1341.      *
  1342.      * @return UserEntity
  1343.      */
  1344.     public function setCloAddress($cloAddress null)
  1345.     {
  1346.         $this->cloAddress $cloAddress;
  1347.         return $this;
  1348.     }
  1349.     /**
  1350.      * Get cloAddress.
  1351.      *
  1352.      * @return string|null
  1353.      */
  1354.     public function getCloAddress()
  1355.     {
  1356.         return $this->cloAddress;
  1357.     }
  1358.     /**
  1359.      * Set kycStatus.
  1360.      *
  1361.      * @param string|null $kycStatus
  1362.      *
  1363.      * @return UserEntity
  1364.      */
  1365.     public function setKycStatus($kycStatus null)
  1366.     {
  1367.         $this->kycStatus $kycStatus;
  1368.         return $this;
  1369.     }
  1370.     /**
  1371.      * Get kycStatus.
  1372.      *
  1373.      * @return string|null
  1374.      */
  1375.     public function getKycStatus()
  1376.     {
  1377.         return $this->kycStatus;
  1378.     }
  1379.     /**
  1380.      * Set birthDate.
  1381.      *
  1382.      * @param string|null $birthDate
  1383.      *
  1384.      * @return UserEntity
  1385.      */
  1386.     public function setBirthDate($birthDate null)
  1387.     {
  1388.        $this->birthDate = empty($birthDate) ? null :  new \DateTime($birthDate);
  1389.         return $this;
  1390.     }
  1391.     /**
  1392.      * Get birthDate.
  1393.      *
  1394.      * @return string|null
  1395.      */
  1396.     public function getBirthDate()
  1397.     {
  1398.         return $this->birthDate;
  1399.     }
  1400.     /**
  1401.      * Set nationality.
  1402.      *
  1403.      * @param string|null $nationality
  1404.      *
  1405.      * @return UserEntity
  1406.      */
  1407.     public function setNationality($nationality null)
  1408.     {
  1409.         $this->nationality $nationality;
  1410.         return $this;
  1411.     }
  1412.     /**
  1413.      * Get nationality.
  1414.      *
  1415.      * @return string|null
  1416.      */
  1417.     public function getNationality()
  1418.     {
  1419.         return $this->nationality;
  1420.     }
  1421.     /**
  1422.      * Set address1.
  1423.      *
  1424.      * @param string|null $address1
  1425.      *
  1426.      * @return UserEntity
  1427.      */
  1428.     public function setAddress1($address1 null)
  1429.     {
  1430.         $this->address1 $address1;
  1431.         return $this;
  1432.     }
  1433.     /**
  1434.      * Get address1.
  1435.      *
  1436.      * @return string|null
  1437.      */
  1438.     public function getAddress1()
  1439.     {
  1440.         return $this->address1;
  1441.     }
  1442.     /**
  1443.      * Set address2.
  1444.      *
  1445.      * @param string|null $address2
  1446.      *
  1447.      * @return UserEntity
  1448.      */
  1449.     public function setAddress2($address2 null)
  1450.     {
  1451.         $this->address2 $address2;
  1452.         return $this;
  1453.     }
  1454.     /**
  1455.      * Get address2.
  1456.      *
  1457.      * @return string|null
  1458.      */
  1459.     public function getAddress2()
  1460.     {
  1461.         return $this->address2;
  1462.     }
  1463.     /**
  1464.      * Set city.
  1465.      *
  1466.      * @param string|null $city
  1467.      *
  1468.      * @return UserEntity
  1469.      */
  1470.     public function setCity($city null)
  1471.     {
  1472.         $this->city $city;
  1473.         return $this;
  1474.     }
  1475.     /**
  1476.      * Get city.
  1477.      *
  1478.      * @return string|null
  1479.      */
  1480.     public function getCity()
  1481.     {
  1482.         return $this->city;
  1483.     }
  1484.     /**
  1485.      * Set zipCode.
  1486.      *
  1487.      * @param string|null $zipCode
  1488.      *
  1489.      * @return UserEntity
  1490.      */
  1491.     public function setZipCode($zipCode null)
  1492.     {
  1493.         $this->zipCode $zipCode;
  1494.         return $this;
  1495.     }
  1496.     /**
  1497.      * Get zipCode.
  1498.      *
  1499.      * @return string|null
  1500.      */
  1501.     public function getZipCode()
  1502.     {
  1503.         return $this->zipCode;
  1504.     }
  1505.     /**
  1506.      * Set idFile.
  1507.      *
  1508.      * @param string|null $idFile
  1509.      *
  1510.      * @return UserEntity
  1511.      */
  1512.     public function setIdFile($idFile null)
  1513.     {
  1514.         $this->idFile $idFile;
  1515.         return $this;
  1516.     }
  1517.     /**
  1518.      * Get idFile.
  1519.      *
  1520.      * @return string|null
  1521.      */
  1522.     public function getIdFile()
  1523.     {
  1524.         return $this->idFile;
  1525.     }
  1526.     /**
  1527.      * Set idFileParse.
  1528.      *
  1529.      * @param string|null $idFileParse
  1530.      *
  1531.      * @return UserEntity
  1532.      */
  1533.     public function setIdFileParse($idFileParse null)
  1534.     {
  1535.         $this->idFileParse $idFileParse;
  1536.         return $this;
  1537.     }
  1538.     /**
  1539.      * Get idFileParse.
  1540.      *
  1541.      * @return string|null
  1542.      */
  1543.     public function getIdFileParse()
  1544.     {
  1545.         return $this->idFileParse;
  1546.     }
  1547.     /**
  1548.      * Set idType.
  1549.      *
  1550.      * @param string|null $idType
  1551.      *
  1552.      * @return UserEntity
  1553.      */
  1554.     public function setIdType($idType null)
  1555.     {
  1556.         $this->idType $idType;
  1557.         return $this;
  1558.     }
  1559.     /**
  1560.      * Get idType.
  1561.      *
  1562.      * @return string|null
  1563.      */
  1564.     public function getIdType()
  1565.     {
  1566.         return $this->idType;
  1567.     }
  1568.     /**
  1569.      * Set phoneNo.
  1570.      *
  1571.      * @param string|null $phoneNo
  1572.      *
  1573.      * @return UserEntity
  1574.      */
  1575.     public function setPhoneNo($phoneNo null)
  1576.     {
  1577.         $this->phoneNo $phoneNo;
  1578.         return $this;
  1579.     }
  1580.     /**
  1581.      * Get phoneNo.
  1582.      *
  1583.      * @return string|null
  1584.      */
  1585.     public function getPhoneNo()
  1586.     {
  1587.         return $this->phoneNo;
  1588.     }
  1589.     public function getAvatar(): ?string
  1590.     {
  1591.         return $this->avatar;
  1592.     }
  1593.     public function setAvatar(?string $avatar): self
  1594.     {
  1595.         $this->avatar $avatar;
  1596.         return $this;
  1597.     }
  1598.     public function getFbPageLink(): ?string
  1599.     {
  1600.         return $this->fbPageLink;
  1601.     }
  1602.     public function setFbPageLink(?string $fbPageLink): self
  1603.     {
  1604.         $this->fbPageLink $fbPageLink;
  1605.         return $this;
  1606.     }
  1607.     public function getTwitterPageLink(): ?string
  1608.     {
  1609.         return $this->twitterPageLink;
  1610.     }
  1611.     public function setTwitterPageLink(?string $twitterPageLink): self
  1612.     {
  1613.         $this->twitterPageLink $twitterPageLink;
  1614.         return $this;
  1615.     }
  1616.     public function getIgPageLink(): ?string
  1617.     {
  1618.         return $this->igPageLink;
  1619.     }
  1620.     public function setIgPageLink(?string $igPageLink): self
  1621.     {
  1622.         $this->igPageLink $igPageLink;
  1623.         return $this;
  1624.     }
  1625.     public function getCardNo(): ?string
  1626.     {
  1627.         return $this->cardNo;
  1628.     }
  1629.     public function setCardNo(?string $cardNo): self
  1630.     {
  1631.         $this->cardNo $cardNo;
  1632.         return $this;
  1633.     }
  1634.     /**
  1635.      * @return Collection|UserStakeTokenEntity[]
  1636.      */
  1637.     public function getUserStakeTokens(): Collection
  1638.     {
  1639.         return $this->userStakeTokens;
  1640.     }
  1641.     public function addUserStakeToken(UserStakeTokenEntity $userStakeToken): self
  1642.     {
  1643.         if (!$this->userStakeTokens->contains($userStakeToken)) {
  1644.             $this->userStakeTokens[] = $userStakeToken;
  1645.             $userStakeToken->setUser($this);
  1646.         }
  1647.         return $this;
  1648.     }
  1649.     public function removeUserStakeToken(UserStakeTokenEntity $userStakeToken): self
  1650.     {
  1651.         if ($this->userStakeTokens->removeElement($userStakeToken)) {
  1652.             // set the owning side to null (unless already changed)
  1653.             if ($userStakeToken->getUser() === $this) {
  1654.                 $userStakeToken->setUser(null);
  1655.             }
  1656.         }
  1657.         return $this;
  1658.     }
  1659.     public function isIsActive(): ?bool
  1660.     {
  1661.         return $this->isActive;
  1662.     }
  1663.     public function isHasFirstReferral(): ?bool
  1664.     {
  1665.         return $this->hasFirstReferral;
  1666.     }
  1667.     public function isHasEnabledTwoFa(): ?bool
  1668.     {
  1669.         return $this->hasEnabledTwoFa;
  1670.     }
  1671.     public function isTwoFa(): ?bool
  1672.     {
  1673.         return $this->twoFa;
  1674.     }
  1675.     public function getCountry(): ?string
  1676.     {
  1677.         return $this->country;
  1678.     }
  1679.     public function setCountry(?string $country): static
  1680.     {
  1681.         $this->country $country;
  1682.         return $this;
  1683.     }
  1684.     /**
  1685.      * @return Collection<int, UserEmailEntity>
  1686.      */
  1687.     public function getUserEmails(): Collection
  1688.     {
  1689.         return $this->userEmails;
  1690.     }
  1691.     public function addUserEmail(UserEmailEntity $userEmail): static
  1692.     {
  1693.         if (!$this->userEmails->contains($userEmail)) {
  1694.             $this->userEmails->add($userEmail);
  1695.             $userEmail->setUser($this);
  1696.         }
  1697.         return $this;
  1698.     }
  1699.     public function removeUserEmail(UserEmailEntity $userEmail): static
  1700.     {
  1701.         if ($this->userEmails->removeElement($userEmail)) {
  1702.             // set the owning side to null (unless already changed)
  1703.             if ($userEmail->getUser() === $this) {
  1704.                 $userEmail->setUser(null);
  1705.             }
  1706.         }
  1707.         return $this;
  1708.     }
  1709.     public function isIsNewsletterSubscriber(): ?bool
  1710.     {
  1711.         return $this->isNewsletterSubscriber;
  1712.     }
  1713.     public function setIsNewsletterSubscriber(bool $isNewsletterSubscriber): static
  1714.     {
  1715.         $this->isNewsletterSubscriber $isNewsletterSubscriber;
  1716.         return $this;
  1717.     }
  1718. }