public void CheckValidator_ShouldFailIfEndDateTimeIsGreaterThenStartDateTime()
        {
            var checkBooking   = new CheckValidator();
            var bookingDetails = new CheckBookingDto
            {
                StartDateTime = new DateTime(2018, 08, 22, 12, 00, 00),
                EndDateTime   = new DateTime(2018, 08, 22, 11, 00, 00)
            };

            checkBooking.ShouldHaveValidationErrorFor(e => e.EndDateTime, bookingDetails);
        }
Exemple #2
0
        public async Task <bool> CheckRoomAvailability(CheckBookingDto checkBooking)
        {
            var roomBookings = await _bookingRepository.GetAsync(checkBooking.RoomId);

            var roomBookingsDto = Mapper.Map <IEnumerable <BookingDto> >(roomBookings);
            var isAvailable     = _bookingValidation.IsRoomAvailable(roomBookingsDto, checkBooking.StartDateTime, checkBooking.EndDateTime);

            if (!isAvailable)
            {
                throw new Exception(ErrorMessage.RoomNotAvailable);
            }
            return(isAvailable);
        }
Exemple #3
0
        public async Task <IActionResult> Availability([FromBody] CheckBookingDto checkRoom)
        {
            var isAvailability = await _roomService.CheckRoomAvailability(checkRoom);

            return(Ok(isAvailability));
        }
Exemple #4
0
 public async Task <bool> CheckRoomAvailability(CheckBookingDto checkBooking)
 {
     return(await _roomLogic.CheckRoomAvailability(checkBooking));
 }