Exemplo n.º 1
0
        public static string OverlappingBookingsExist(Booking booking, IBookingStorage bookingStorage)
        {
            if (booking.Status == "Cancelled")
            {
                return(string.Empty);
            }

            var bookings = bookingStorage.GetAllBookingsWithActiveStatusAndDifferentByGivenId(booking.Id);

            var overlappingBooking =
                bookings.FirstOrDefault(
                    b =>
                    booking.ArrivalDate < b.DepartureDate &&
                    b.ArrivalDate < booking.DepartureDate);

            return(overlappingBooking == null ? string.Empty : overlappingBooking.Reference);
        }