public void CreateReservation(IList <Site> siteList, DateTime startDate, DateTime endDate) { DateTime fromDate = startDate; DateTime toDate = endDate; int numOfDays = (endDate - startDate).Days; List <int> chosenSites = new List <int>(); // create a list of ints that will contain the siteId's captured in the foreach loop below Console.WriteLine($"{"Site No.",-10} {"Max Occup.",-12} {"Accessible",-12} {"Max RV Length",-15} {"Utility",-10} {"Cost",-10}"); foreach (Site site in siteList) { Console.WriteLine($"{site.SiteId,-10} {site.MaxOccupancy,-12} {site.Accessible,-12} {site.MaxRVLength,-15} {site.Utilities,-10} {numOfDays * chosenCamp.DailyFee,-10:C}"); chosenSites.Add(site.SiteId); } Console.WriteLine("Which site would you like to reserve? (0 to cancel) "); string siteIdStr = Console.ReadLine(); // make sure user entry is a valid site number, if it is make the reservation and display ID. If it is not, throw exception and return to selection screen try { int siteId = Convert.ToInt32(siteIdStr); if (chosenSites.Contains(siteId)) { Console.WriteLine("What name should the reservation be made under? "); string reserveName = Console.ReadLine(); reserveObj.SaveReservation(siteId, reserveName, startDate, endDate); GetReservationId(); Console.WriteLine($"Your reservation has been created. Your reservation ID is {reserveId}"); Console.WriteLine("Hit enter to continue"); Console.ReadLine(); return; } } catch (System.FormatException ex) { Console.WriteLine(ex.Message); WriteError("Please input a valid site number"); return; } }