public void GetReservationTest() { SiteDAL dal = new SiteDAL(connectionString); List <Reservation> reservations = dal.GetReservation(campgroundId); Assert.AreEqual(1, reservations.Count); Assert.AreEqual("smith", reservations[0].Name); }
private void ReservationAvailable(int campground, DateTime start, DateTime end) { SiteDAL dal = new SiteDAL(databaseConnection); CampgroundDAL dal2 = new CampgroundDAL(databaseConnection); Campground campgroundObject = dal2.GetCampgroundById(campground); List <Reservation> reservations = dal.GetReservation(campground); //List<Reservation> booked = new List<Reservation>(); List <Site> sites = dal.GetSites(campground); List <Reservation> available = new List <Reservation>(); Console.WriteLine("Site Id | Max Occupancy | Accessible | Max RV Size | Utilities | Daily Fee"); reservations.ForEach(res => { bool overlap = (end >= res.StartDate && end <= res.EndDate) || (start >= res.StartDate && start <= res.EndDate) || (start <= res.StartDate && end >= res.EndDate); //bool overlap = (res.StartDate <= end && start <= res.EndDate) || // (start <= res.StartDate && res.StartDate <= end) || // (start <= res.EndDate && res.EndDate <= end) || // (res.StartDate <= start && res.EndDate >= end); if (overlap) { sites.Remove(sites.Find(s => s.Id == res.SiteId)); } }); if (sites.Count == 0) { Console.WriteLine("I am sorry, there are no reservations available during your specified date range. Please try again."); } sites.ForEach(availableSite => { Console.WriteLine($"{availableSite.Id} {availableSite.MaxOccupancy} {availableSite.isAccessible} {availableSite.MaxRVLength} {availableSite.hasUtilities} {campgroundObject.DailyFee}"); }); }