Slide 34
Slide 34 text
public function cancelTicket(Ticket $ticket): void
{
$this->workflowRegistry->get($ticket)->apply($ticket, Ticket::TRANSITION_CANCEL);
$newTicketId = Uuid::uuid4()->toString();
$this->createTicket($newTicketId, $ticket);
$this->domainEventCollector->push(
new DomainEventMessage(
Ticket::class,
'canceled',
$ticket->getId(),
[
'newTicketId' => $newTicketId,
]
)
);
}