public void RunCLI() { DisplayHeader(); DisplayMainMenu(); ParkSqlDal dal = new ParkSqlDal(dbConnection); Dictionary <int, Park> dictionaryParks = dal.GetAllParks(); while (true) { string userOption = Console.ReadLine(); int parkIndex = Convert.ToInt32(userOption); if (userOption == "1") { DisplayAllParks(dictionaryParks); //sub menu for customer to choose campground based on park id ProcessCustomerOption(); } else if (userOption == "2") { GetAllCurrentReservations(dictionaryParks); } else if (userOption == "3") { Console.WriteLine("Thank You For Using Our Park Reservation System"); return; } DisplayMainMenu(); } }
public void GetAllParksTest() { List <Park> p = new List <Park>(); ParkSqlDal parkDal = new ParkSqlDal(connectionString); p = parkDal.GetAllParks(); Assert.AreEqual(parkCount, p.Count); }
public void AllParksScreen() { bool done = false; while (!done) { Console.Clear(); Console.WriteLine("Select a Park for Further Details: "); ParkSqlDal parkSqlDal = new ParkSqlDal(DatabaseConnection); List <Park> parks = parkSqlDal.GetAllParks(); foreach (Park park in parks) { Console.WriteLine($"{park.Id}) {park.Name} "); } Console.WriteLine("Q) Quit\n"); string userinput = Console.ReadLine().ToUpper(); bool userEnteredNumber = int.TryParse(userinput, out int parkIdEntry); Park selectedPark = GetParkFromListById(parkIdEntry, parks); if (userEnteredNumber) { if (selectedPark != null) { ParkInformationScreen(selectedPark); } else { Console.WriteLine("Park Id not found! Press any key to try again"); Console.ReadKey(); } } else { if (userinput == "Q") { done = true; } else { Console.WriteLine("Please enter a valid entry, press any key to try again"); Console.ReadKey(); } } } }
public void GetAllParksTest() { //Arange ParkSqlDal parkSqlDal = new ParkSqlDal(connectionString); //ACT List <Park> parks = parkSqlDal.GetAllParks(); //Assert Assert.IsNotNull(parks, "Parks list is empty!"); Assert.AreEqual(parkCount, parks.Count, $"Expected a count of {parkCount} for parks"); bool found = false; foreach (Park park in parks) { if (park.Name == "Test Park") { found = true; break; } } Assert.IsTrue(found, "Could not find Test Park named Test 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(); } }