Esempio n. 1
0
        public IActionResult CheckReservations([FromBody] AvailabilityRequest availabilityRequest)
        {
            // Add the campsites
            foreach (var campsite in availabilityRequest.Campsites)
            {
                this.reservationService.CreateCampsite(campsite);
            }

            // Add the reservations
            foreach (var reservation in availabilityRequest.Reservations)
            {
                this.reservationService.CreateReservation(reservation);
            }

            // Search for availability
            var searchSpan = new DateTimeSpan(availabilityRequest.Search.StartDate, availabilityRequest.Search.EndDate);

            // Return as Json
            return(Json(this.reservationService.GetAvailableCampsites(searchSpan, 1)));
        }
 public IEnumerable <Campsite> GetAvailableCampsites(DateTimeSpan requestedDates, int numberOfDaysGap)
 {
     return(campsites.Where(c => c.CanBeReserved(requestedDates, numberOfDaysGap)));
 }
 public bool Overlaps(DateTimeSpan spanToCompare)
 {
     return(this.StartDate <= spanToCompare.EndDate && spanToCompare.StartDate <= this.EndDate);
 }