Exemple #1
0
        private void showServiceOptions(SingleService selectedService)
        {
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.WriteLine("");
            Console.Write("───┐  ");
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.Write("{0,0}", selectedService.getServiceTitle());
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(" have such options:\n");
            Console.Write("   │\n");
            Console.Write("   │  {0, -5}{1, -30}{2, 7}\n", "ID", "Title", "Cost");

            Console.ResetColor();


            int size = selectedService.getServiceItems().Length;

            for (int i = 0; i < size; i++)
            {
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                if (i == size - 1)
                {
                    Console.Write("   └─ ");
                }
                else
                {
                    Console.Write("   ├─ ");
                }

                Console.ResetColor();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("{0,-5}", i + 1);
                Console.ResetColor();
                Console.ForegroundColor = ConsoleColor.Magenta;
                Console.Write("{0,-30}", "\"" + selectedService.getServiceItems()[i].getItemTitle() + "\"");
                Console.ResetColor();
                Console.Write("{0,7:0.00}", selectedService.getServiceItems()[i].getItemPrice());
                Console.Write("\n");
            }

            Console.WriteLine();
        }
Exemple #2
0
        void askForService(int isFirstAsk = 0)
        {
            // help mesages //
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <info: ");
            Console.ResetColor();
            if (isFirstAsk == 0)
            {
                Console.Write("Now you could choose the service you need.");
            }
            else
            {
                Console.Write("Choose one more service you need.");
            }
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter the ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("digit");
            Console.ResetColor();
            Console.Write(" number of service you want to choose.");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("0");
            Console.ResetColor();
            if (serviceList.Count == 0)
            {
                Console.Write(" to close program.");
            }
            else
            {
                Console.Write(" to cancel.");
            }
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("#");
            Console.ResetColor();
            Console.Write(" to show list of services again.");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.WriteLine();

            // help mesages end //
            string userAnswer;

            Console.Write("  >");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write(" ");
            userAnswer = Console.ReadLine();
            Console.ResetColor();

            String[] correctAnswers = new String[] { "1", "2", "3", "0", "#" };

            while (!userStringIsCorrect(userAnswer, correctAnswers))
            {
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" <info: ");
                Console.ResetColor();
                Console.Write("Sorry. Your input is incorrect.");
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" > \n");
                Console.ResetColor();
                Console.WriteLine();

                Console.Write("  >");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write(" ");
                userAnswer = Console.ReadLine();
                Console.ResetColor();
            }

            // variable selected service

            int serviceOptionToSet = -1;

            /* i use switch here coz i can */
            SingleService selectedService;

            switch (userAnswer)
            {
            case "#":     //  show list of services again
                showServices();
                askForService(1);
                break;

            case "0":     // close the program
                return;

            default:
                int userIntAnswer = Int32.Parse(userAnswer);

                selectedService    = new SingleService(services[userIntAnswer - 1]);
                serviceOptionToSet = askForServiceOptions(userIntAnswer - 1);

                if (serviceOptionToSet == -1)
                {
                    return;
                }
                selectedService.setOption(serviceOptionToSet - 1);
                serviceList.Insert(0, selectedService);

                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" <info: ");
                Console.ResetColor();
                Console.Write("Done! Option \"");
                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                Console.Write("{0,0}", selectedService.getServiceItems()[selectedService.getOption()].getItemTitle());
                Console.ResetColor();
                Console.Write("\" will be added to your order list.");
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" > \n");
                Console.ResetColor();

                break;
            }

            // if here, so userAnswer is '0' or '1' or '2' or '3'
            if (oneMoreServiceIsNeeded())
            {
                showServices();
                askForService(1);
            }
        }
Exemple #3
0
        private int askUserForServiceOption(SingleService selectedService)
        {
            int answer = -1;

            // help mesages //
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter the ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("digit");
            Console.ResetColor();
            Console.Write(" number of service option you want to choose.");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("0");
            Console.ResetColor();
            Console.Write(" to cancel this service.");

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" <help: ");
            Console.ResetColor();
            Console.Write("Enter ");
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("#");
            Console.ResetColor();
            Console.Write(" to show list of service options again.");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Write(" > \n");
            Console.ResetColor();
            Console.WriteLine();

            // help mesages end //


            string userAnswer;

            Console.Write("  >");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write(" ");
            userAnswer = Console.ReadLine();
            Console.ResetColor();



            String[] correctAnswers = new String[selectedService.getServiceItems().Length + 2];

            correctAnswers[0] = "#";
            correctAnswers[1] = "0";
            for (int i = 2; i < correctAnswers.Length; i++)
            {
                correctAnswers[i] = "" + (i - 1);
            }


            while (!userStringIsCorrect(userAnswer, correctAnswers))
            {
                Console.WriteLine();
                Console.ResetColor();
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" <help: ");
                Console.Write("Sorry. Your input is incorrect.");
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write(" > \n");
                Console.ResetColor();
                Console.WriteLine();

                Console.Write("  >");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write(" ");
                userAnswer = Console.ReadLine();
                Console.ResetColor();
            }

            switch (userAnswer)
            {
            case "#":     //  show list of services again
                answer = -2;
                break;

            case "0":     // close the program
                answer = -1;
                break;

            default:     // add service #userAnswer to queue
                answer = Int32.Parse(userAnswer);
                break;
            }

            return(answer);
        }