private void Handle(RoomBooked @event) { if (!this.perClientReservations.ContainsKey(@event.ClientId)) { this.perClientReservations[@event.ClientId] = new List <Reservation>(); } var reservation = new Reservation(@event.Guid, @event.ClientId, @event.HotelName, @event.HotelId.ToString(), @event.RoomNumber, @event.CheckInDate, @event.CheckOutDate); this.perClientReservations[@event.ClientId].Add(reservation); }
private static async Task Given(IRoomAvailabilityModel model, EventMetadata metadata, RoomBooked ev) { var room = model.Rooms.First(x => x.Number == ev.Number); var reservation = model.Create <Reservation>(); reservation.To = ev.End; reservation.From = ev.Start; room.Reservations.Add(reservation); }
//public async Task On(BookingsEnabled e) //{ // var elapsed = await _networkSimulator.WaitFast().ConfigureAwait(false); // this._reporter.Report($"Room available {e.Id} took {elapsed}ms"); //} public async Task On(RoomBooked e) { var elapsed = await _networkSimulator.WaitFast().ConfigureAwait(false); this._reporter.Report($"Confirmed booking on {e.Id} took {elapsed}ms"); }
private void Handle(RoomBooked roomBooked) { this.repository.DeclareRoomBooked(roomBooked.HotelId, roomBooked.RoomNumber, roomBooked.CheckInDate, roomBooked.CheckOutDate); }
public void Apply(RoomBooked e) { status = RoomStatus.Booked; }