예제 #1
0
        public void ParkInfoScreen(int parkID)
        {
            while (true)
            {
                string header = "";

                string selectionMenu = "Select a Command\n----------------\n1) View campgrounds\n2) Search for reservation\n3) View all reservations for the next 30 days\n4) Return to previous screen\n";

                string selectionPrompt = "Selection:";

                Park         currentWorkingPark = new Park();
                ParkDAL      parkDAL            = new ParkDAL(DatabaseConnection);
                IList <Park> parks = parkDAL.GetParkList();

                foreach (Park park in parks)
                {
                    if (park.ParkID == parkID)
                    {
                        currentWorkingPark = park;
                        Console.Clear();
                        header += $"====================== {currentWorkingPark.Name} National Park Information ======================";
                        Console.SetCursorPosition((Console.WindowWidth - header.Length) / 2, Console.CursorTop);
                        Console.WriteLine(header);
                        Console.WriteLine(park.ToString() + "\n");
                        break;
                    }
                }

                int command;

                Console.WriteLine(selectionMenu);
                command = CLIHelper.GetInteger(selectionPrompt);


                switch (command)
                {
                case (1):
                    ParkCampgroundScreen(currentWorkingPark);
                    break;

                case (2):
                    ParkWideAvailabilitySearch(parkID);    //Search reservations by park
                    break;

                case (3):
                    Display30DaysReservation(parkID);
                    break;

                case (4):
                    return;

                default:
                    Console.WriteLine("Please enter a valid number from the menu.  Press Enter to try again.");
                    Console.ReadLine();
                    break;
                }
            }
        }
예제 #2
0
        public void RunCLI()
        {
            while (true)
            {
                string parkSelectPrompt = "====================== Select a Park for Further Details ======================\n";

                string validSelectionError = "Please make a valid selection from the menu. Press Enter to try again.";

                string quitPrompt = $"{Command_Quit}) Quit\n";

                string selectionPrompt = "Selection:";

                int commandIfNum;

                Console.Clear();
                Console.SetCursorPosition((Console.WindowWidth - parkSelectPrompt.Length) / 2, Console.CursorTop);
                Console.WriteLine(parkSelectPrompt);

                ParkDAL      parkDAL  = new ParkDAL(DatabaseConnection);
                IList <Park> parkList = new List <Park>();
                parkList = parkDAL.GetParkList();

                foreach (Park park in parkList)
                {
                    Console.WriteLine($"{park.ParkID}) {park.Name}");
                }
                Console.WriteLine(quitPrompt);

                string command = CLIHelper.GetString(selectionPrompt).ToUpper();

                if (command == Command_Quit)
                {
                    return;
                }
                else if (!int.TryParse(command, out commandIfNum))
                {
                    Console.WriteLine(validSelectionError);
                    Console.ReadLine();
                    continue;
                }
                else
                {
                    bool commandNumIsInParkList = false;
                    foreach (Park park in parkList)
                    {
                        if (park.ParkID == commandIfNum)
                        {
                            commandNumIsInParkList = true;
                            break;
                        }
                    }

                    if (commandNumIsInParkList)
                    {
                        ParkInfoScreen(commandIfNum);
                    }
                    else
                    {
                        Console.WriteLine(validSelectionError);
                        Console.ReadLine();
                    }
                }
            }
        }