<?php
namespace App\Entity\Club1895;
use App\Entity\Check;
use App\Entity\Enum\TransactionStatus;
use App\Repository\Club1895\TransactionCheckRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: TransactionCheckRepository::class)]
class TransactionCheck extends Transaction
{
#[ORM\ManyToOne(cascade: ['persist'], inversedBy: 'club1895TransactionChecks')]
private ?Check $check = null;
public function __construct()
{
$this->setStatus(TransactionStatus::Waiting);
}
public function getCheck(): ?Check
{
return $this->check;
}
public function setCheck(?Check $check): self
{
$this->check = $check;
return $this;
}
public function cancel(): void
{
if ($check = $this->getCheck()) {
foreach ($check->getClub1895TransactionChecks() as $transactionCheck) {
$transactionCheck->setStatus(TransactionStatus::Cancelled);
}
$check->setIsCancelled(true);
}
}
}