public void ParkWideReservation(Park selectedPark) { //TODO make it promt user for new dates when no sites are available within dates specified System.Console.WriteLine("What is the arrival date? yyyy/mm/dd"); DateTime desiredArrival = DateTime.Parse(Console.ReadLine()); System.Console.WriteLine("What is the departure date? yyyy/mm/dd"); DateTime desiredDeparture = DateTime.Parse(Console.ReadLine()); System.Console.WriteLine(); System.Console.WriteLine(); int duration = (int)(desiredDeparture.Subtract(desiredArrival).TotalDays) + 1; IList <Site> sites = siteDAO.ListAvailableSitesInPark(selectedPark, desiredArrival, desiredDeparture); printSiteListHeadingParkWide(); foreach (var site in sites) { printSiteListingParkWide(site, duration); } System.Console.Write("Which site should be reserved (enter 0 to cancel)? "); int selectedSiteNum = int.Parse(Console.ReadLine()); int selectedSiteId = 0; foreach (Site site in sites) { if (site.SiteNumber == selectedSiteNum) { selectedSiteId = site.SiteId; } } if (selectedSiteId == 0) { Console.Clear(); return; } System.Console.Write("What name should the reservation be made under? "); string reservationName = Console.ReadLine(); int conformationNumber = reservationDAO.MakeReservation(selectedSiteId, reservationName, desiredArrival, desiredDeparture); System.Console.WriteLine($"The reservation has been made and the conformation id is {conformationNumber}"); Console.ReadLine(); }