Exemple #1
0
        public async Task <Booking> Handle(AddHotelBooking request, CancellationToken cancellationToken)
        {
            var allRooms = await _reservationRepository.GetAllRooms();

            var addBooking = new Booking();

            if (allRooms.Any(x => x.Availability == true && x.Capacity == request.Booking.Room.Capacity &&
                             x.PriceNight == request.Booking.Room.PriceNight))
            {
                var booking = CheckAvailability(allRooms, request.Booking);
                addBooking = await _reservationRepository.AddBooking(booking);
            }
            return(addBooking);
        }