protected void When(ReserveSeatCommand command) { var handler = new ReserveSeatHandler(_pastEvents, e => { _publishedEvents.Add(e); if (e is SeatReserved sr) { _readModel.Apply(sr); } } ); handler.Handle(command); }
public async Task <SeatReservationDto> ReserveSeatAsync(string eventId, string clientId, string orderId, string sceneSeatId) { var command = new ReserveSeatCommand { ReservationId = Guid.NewGuid().ToString(), EventId = eventId, ClientId = clientId, OrderId = orderId, SceneSeatId = sceneSeatId }; await CommandBus.Current.DispatchAsync(command); return(new SeatReservationDto { Id = command.ReservationId, SceneSeatId = sceneSeatId }); }