Esempio n. 1
0
        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
            });
        }