public void ChangeSeat(SeatId newSeatId) { if (Status != ReservationStatus.Tentative) { throw new InvalidOperationException($"Changing seat for the reservation in '{Status}' status is not allowed."); } var @event = new ReservationSeatChanged(Id, newSeatId); Enqueue(@event); Apply(@event); }
public void ChangeSeat(Guid newSeatId) { Guard.Against.Default(newSeatId, nameof(newSeatId)); if (Status != ReservationStatus.Tentative) { throw new InvalidOperationException($"Changing seat for the reservation in '{Status}' status is not allowed."); } var @event = ReservationSeatChanged.Create(Id, newSeatId); Enqueue(@event); Apply(@event); }
public void ChangeSeat(Guid newSeatId) { if (newSeatId == Guid.Empty) { throw new ArgumentOutOfRangeException(nameof(newSeatId)); } if (Status != ReservationStatus.Tentative) { throw new InvalidOperationException($"Changing seat for the reservation in '{Status}' status is not allowed."); } var @event = ReservationSeatChanged.Create(Id, newSeatId); Enqueue(@event); Apply(@event); }
public void Apply(ReservationSeatChanged @event) { SeatId = @event.SeatId; Version++; }