<?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\UserAdjustedTokenRepository")
* @ORM\Table(name="user_adjusted_token")
* @ORM\HasLifecycleCallbacks()
*/
class UserAdjustedTokenEntity
{
/**
* @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="userAdjustedTokens")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
/**
* 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();
}
/**
* 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 UserAdjustedTokenEntity
*/
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 UserAdjustedTokenEntity
*/
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 UserAdjustedTokenEntity
*/
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 UserAdjustedTokenEntity
*/
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 UserAdjustedTokenEntity
*/
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 UserAdjustedTokenEntity
*/
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;
}
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
protected $reason;
public function getReason(): ?string
{
return $this->reason;
}
public function setReason(?string $reason): self
{
$this->reason = $reason;
return $this;
}
}