public void Cancel() { if (Status != ReservationStatus.Tentative) { throw new InvalidOperationException($"Only tentative reservation can be cancelled (current status: {Status})."); } var @event = new ReservationCancelled(Id); Enqueue(@event); Apply(@event); }
public void Apply(ReservationCancelled @event) { Status = ReservationStatus.Cancelled; Version++; }