<?php
namespace App\Entity;
use App\Entity\Enum\TransactionStatus;
use App\Repository\TransactionWireRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: TransactionWireRepository::class)]
class TransactionWire extends Transaction
{
#[ORM\ManyToOne(targetEntity: Wire::class, cascade: ['persist'], inversedBy: 'transactionWires')]
private $wire;
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->getTransactionWires() as $transactionWire) {
$transactionWire->setStatus(TransactionStatus::Cancelled);
}
$wire->setIsCancelled(true);
}
}
}