<?php
namespace App\Entity;
use App\Entity\Enum\TransactionStatus;
use App\Repository\BenefactorTransactionWireRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: BenefactorTransactionWireRepository::class)]
class BenefactorTransactionWire extends BenefactorTransaction
{
#[ORM\ManyToOne(cascade: ['persist'], inversedBy: 'benefactorTransactionWires')]
private ?Wire $wire = null;
public function getWire(): ?Wire
{
return $this->wire;
}
public function setWire(?Wire $wire): self
{
$this->wire = $wire;
return $this;
}
public function cancel(): void
{
if ($wire = $this->getWire()) {
foreach ($wire->getBenefactorTransactionWires() as $transactionWire) {
$transactionWire->setStatus(TransactionStatus::Cancelled);
}
$wire->setIsCancelled(true);
}
}
}