Пример #1
0
        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");
        }
Пример #4
0
 private void Handle(RoomBooked roomBooked)
 {
     this.repository.DeclareRoomBooked(roomBooked.HotelId, roomBooked.RoomNumber, roomBooked.CheckInDate, roomBooked.CheckOutDate);
 }
Пример #5
0
 public void Apply(RoomBooked e)
 {
     status = RoomStatus.Booked;
 }