<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToStringTransformer;
/**
* @ORM\Entity(repositoryClass="App\Repository\UserMemeCoinTransactionRepository")
* @ORM\Table(name="user_meme_coin_transaction")
* @ORM\HasLifecycleCallbacks()
*/
class UserMemeCoinTransactionEntity
{
/**
* @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="base_price",type="decimal", precision=18, scale=8, nullable=true)
*/
protected $basePrice;
/**
* @ORM\Column(name="system_fee",type="decimal", precision=18, scale=8, nullable=true)
*/
protected $systemFee;
/**
* @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="userMemeCoinTransactionBuyers")
* @ORM\JoinColumn(name="buyer_id", referencedColumnName="id")
*/
protected $buyer;
/**
* @ORM\ManyToOne(targetEntity="UserEntity", inversedBy="userMemeCoinTransactionSellers")
* @ORM\JoinColumn(name="seller_id", referencedColumnName="id")
*/
protected $seller;
/**
* @ORM\ManyToOne(targetEntity="UserMemeCoinEntity", inversedBy="userMemeCoinTransactions")
* @ORM\JoinColumn(name="user_memecoin_id", referencedColumnName="id")
*/
protected $userMemeCoin;
/**
* 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 */
/*--------------------------------------------------------------------------------------------------------*/
public function getId(): ?string
{
return $this->id;
}
public function getAmount(): ?string
{
return $this->amount;
}
public function setAmount(string $amount): static
{
$this->amount = $amount;
return $this;
}
public function getBasePrice(): ?string
{
return $this->basePrice;
}
public function setBasePrice(?string $basePrice): static
{
$this->basePrice = $basePrice;
return $this;
}
public function getSystemFee(): ?string
{
return $this->systemFee;
}
public function setSystemFee(?string $systemFee): static
{
$this->systemFee = $systemFee;
return $this;
}
public function getCreatedBy(): ?string
{
return $this->createdBy;
}
public function setCreatedBy(string $createdBy): static
{
$this->createdBy = $createdBy;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): static
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedBy(): ?string
{
return $this->updatedBy;
}
public function setUpdatedBy(string $updatedBy): static
{
$this->updatedBy = $updatedBy;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(\DateTimeInterface $updatedAt): static
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getBuyer(): ?UserEntity
{
return $this->buyer;
}
public function setBuyer(?UserEntity $buyer): static
{
$this->buyer = $buyer;
return $this;
}
public function getSeller(): ?UserEntity
{
return $this->seller;
}
public function setSeller(?UserEntity $seller): static
{
$this->seller = $seller;
return $this;
}
public function getUserMemeCoin(): ?UserMemeCoinEntity
{
return $this->userMemeCoin;
}
public function setUserMemeCoin(?UserMemeCoinEntity $userMemeCoin): static
{
$this->userMemeCoin = $userMemeCoin;
return $this;
}
}