<?php
namespace App\Entity;
use App\Repository\TransactionAmountAccountRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: TransactionAmountAccountRepository::class)]
#[ORM\Table(name: 'TB_TRANSACTIONS_AMOUNTS_ACCOUNTS')]
#[ORM\HasLifecycleCallbacks]
class TransactionAmountAccount
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 50)]
private ?string $code = null;
#[ORM\Column(nullable: true)]
private ?bool $activated = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $addedAt = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $modifiedAt = null;
#[ORM\ManyToOne(inversedBy: 'transactionAmountAccounts')]
#[ORM\JoinColumn(nullable: false)]
private ?AppAccount $account = null;
#[ORM\ManyToOne(inversedBy: 'transactionAmountAccounts')]
#[ORM\JoinColumn(nullable: false)]
private ?TransactionAmount $amount = null;
#[ORM\ManyToOne]
private ?User $addedBy = null;
public function __construct()
{
$this->addedAt = new \DateTime();
$this->activated = true;
}
public function getId(): ?int
{
return $this->id;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(string $code): static
{
$this->code = $code;
return $this;
}
public function isActivated(): ?bool
{
return $this->activated;
}
public function setActivated(?bool $activated): static
{
$this->activated = $activated;
return $this;
}
public function getAddedAt(): ?\DateTimeInterface
{
return $this->addedAt;
}
public function setAddedAt(\DateTimeInterface $addedAt): static
{
$this->addedAt = $addedAt;
return $this;
}
public function getModifiedAt(): ?\DateTimeInterface
{
return $this->modifiedAt;
}
public function setModifiedAt(?\DateTimeInterface $modifiedAt): static
{
$this->modifiedAt = $modifiedAt;
return $this;
}
public function getAccount(): ?AppAccount
{
return $this->account;
}
public function setAccount(?AppAccount $account): static
{
$this->account = $account;
return $this;
}
public function getAmount(): ?TransactionAmount
{
return $this->amount;
}
public function setAmount(?TransactionAmount $amount): static
{
$this->amount = $amount;
return $this;
}
public function getAddedBy(): ?User
{
return $this->addedBy;
}
public function setAddedBy(?User $addedBy): static
{
$this->addedBy = $addedBy;
return $this;
}
#[ORM\PreUpdate]
public function onUpdate() {
$this->modifiedAt = new \DateTime();
}
}