public void DisplayCampsByParkId(int parkId, Dictionary <int, Park> listOfParks) { if (listOfParks.ContainsKey(parkId)) { CampgroundSqlDal dal = new CampgroundSqlDal(dbConnection); Dictionary <int, Campground> listOfCamps = dal.GetAllCampsByParkId(parkId); Console.WriteLine("Camp Id\t\t Name\t\t\t\t Open From\t Open Until\t Daily Fee"); if (listOfCamps.Count > 0) { foreach (int key in listOfCamps.Keys) { Console.WriteLine(listOfCamps[key].ToString()); } Console.WriteLine("Please select campground to search for available dates or press 0 to return ___"); int campId = Convert.ToInt32(Console.ReadLine()); if (campId == 0) { return; } if (listOfCamps.ContainsKey(campId)) { SearchByCampId(campId); } else { Console.WriteLine("Invalid Campground ID: "); } } } else { Console.WriteLine("Invalid Park ID - Please choose a valid park."); } }
public void ProcessCustomerOption() { DisplaySubMenu(); ParkSqlDal dal = new ParkSqlDal(dbConnection); Dictionary <int, Park> listOfParks = dal.GetAllParks(); int parkId; while (true) { string userInput = Console.ReadLine(); if (userInput == "1") // park details { DisplayAllParks(listOfParks); Console.WriteLine("Please Choose A Park To View Details"); parkId = Convert.ToInt32(Console.ReadLine()); DisplayParkDetails(parkId, listOfParks); } else if (userInput == "2") { DisplayAllParks(listOfParks); Console.WriteLine("Please Select A Park ID To View All Campground Sites"); parkId = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(@"What is the arrival date? __/__/____ "); DateTime fromDate = Convert.ToDateTime(Console.ReadLine()); Console.WriteLine(@"What is the departure date? __/__/____ "); DateTime toDate = Convert.ToDateTime(Console.ReadLine()); if (listOfParks.ContainsKey(parkId)) { CampgroundSqlDal campDal = new CampgroundSqlDal(dbConnection); Dictionary <int, Campground> listOfCamp = campDal.GetAllCampsByParkId(parkId); Console.WriteLine(); Console.WriteLine("Results Matching Your Search Criteria "); foreach (int key in listOfCamp.Keys) { if (fromDate.Month >= listOfCamp[key].OpenFromMonth && toDate.Month <= listOfCamp[key].OpenToMonth) { Console.WriteLine("Camp Name \t\t Site No.\t Max Occup.\t Accessible?\t RV Len \t Utility\t Cost"); SearchAvailableSitesByCampId(key, fromDate, toDate); //MakeReservation(fromDate, toDate); } else { Console.WriteLine(@"Invalid Date(s), park is not open on one of these dates. "); } } //after printing out all the available sites, calls make reservation method MakeReservation(fromDate, toDate); } } else if (userInput == "3") { //Console.Clear(); DisplayAllParks(listOfParks); Console.WriteLine("Please Select A Park ID To View Campgrounds"); parkId = Convert.ToInt32(Console.ReadLine()); if (listOfParks.ContainsKey(parkId)) { DisplayCampsByParkId(parkId, listOfParks); } else { Console.WriteLine("Invalid Park ID Selection, Please try again. "); } } else if (userInput == "4") { return; } DisplaySubMenu(); } }