private State Apply(State state, ReservationMade @event)
 {
     state.Id         = @event.Id;
     state.HotelId    = @event.HotelId;
     state.RoomType   = @event.RoomType;
     state.IsReserved = true;
     return(state);
 }
Esempio n. 2
0
 private State Apply(State state, ReservationMade @event)
 {
     state.Id         = @event.Id;
     state.HotelId    = @event.HotelId;
     state.RoomType   = @event.RoomType;
     state.IsReserved = true; //virtual-workshop ex-7 hint
     return(state);
 }
        //virtual workshop ex-8 hint
        private async Task OnReservationMade(IDenormalizerContext <RoomTypeAvailabilityReadModel> ctx, ReservationMade @event)
        {
            var roomTypeAvailability = await ctx.Repository.Read(new { @event.HotelId, @event.RoomType }, new CancellationToken());

            if (roomTypeAvailability != null)
            {
                roomTypeAvailability.Amount -= 1;
                await ctx.Repository.Save(roomTypeAvailability, new CancellationToken());
            }
        }
 private async Task OnReservationMade(IDenormalizerContext <RoomTemperatureViewsReadModel> ctx, ReservationMade @event)
 {
 }
 //virtual workshop ex-8 hint
 private async Task OnReservationMade(IDenormalizerContext <ReservationsReadModel> ctx, ReservationMade @event)
 {
     var reservation = new ReservationsReadModel
     {
         Id         = @event.Id,
         HotelId    = @event.HotelId,
         RoomType   = @event.RoomType,
         IsReserved = true
     };
     await ctx.Repository.Save(reservation, new CancellationToken());
 }
        private async Task OnReservationMade(IDenormalizerContext <RoomViewsReadModel> ctx, ReservationMade @event)
        {
            var view = await ctx.Repository.GetByIds(@event.HotelId, @event.ViewId, CancellationToken.None);

            view.HotelId         = @event.HotelId;
            view.ViewId          = @event.ViewId;
            view.ReserveDateTime = @event.Timestamp;

            await ctx.Repository.Save(view, new CancellationToken());
        }
 private async Task OnReservationMade(IDenormalizerContext <LocationWeatherReadModel> ctx, ReservationMade @event)
 {
 }
Esempio n. 8
0
 private async Task OnReservationMade(IDenormalizerContext <HotelsReadModel> ctx, ReservationMade @event)
 {
 }
        private async Task OnReservationMade(IDenormalizerContext <RoomTemperatureViewsReadModel> ctx, ReservationMade @event)
        {
            var view = await ctx.Repository.GetByIds(@event.HotelId, @event.ViewId, CancellationToken.None);

            view.ReservationDateTime       = @event.Timestamp;
            view.MillisecondsToReservation = (@event.Timestamp - view.ViewDateTime).TotalMilliseconds;

            await ctx.Repository.Save(view, new CancellationToken());
        }