Пример #1
0
        private static void Client_management_menu()
        {
            Console.Clear();
            Console.WriteLine("Client management");
            Console.WriteLine("\t1 - Add client");
            Console.WriteLine("\t2 - Remove client");
            Console.WriteLine("\t3 - Change client info");
            Console.WriteLine("\t4 - Show info about a client");
            Console.WriteLine("\t5 - Show info about all clients");
            Console.WriteLine("\t6 - Sort client by firt name");
            Console.WriteLine("\t7 - Sort client by last name");
            Console.WriteLine("\t8 - Search by first name");
            Console.WriteLine("\t9 - Search by last name");
            Console.WriteLine("\t0 - Turn back to main menu");

            try
            {
                int command = int.Parse(Console.ReadLine());

                switch (command)
                {
                case 0:
                    Main_menu();
                    break;

                case 1:
                    Console.Clear();
                    Console.Write("First name: ");
                    string first_name = Check.Check_value(Console.ReadLine(), first_name_regex);

                    Console.Write("Last name: ");
                    string last_name = Check.Check_value(Console.ReadLine(), last_name_regex);

                    Console.Write("Passport: ");
                    string passport = Check.Check_value(Console.ReadLine(), passport_regex);

                    Console.Write("Phone number: ");
                    string phone_number = Check.Check_value(Console.ReadLine(), phone_number_regex);

                    if (first_name != "" && last_name != "" && passport != "" && phone_number != "" &&
                        Client_management.Is_unique_passport(passport) && Client_management.Is_unique_phone_number(phone_number))
                    {
                        Client_management.Add_client(first_name, last_name, passport, phone_number);
                        Console.WriteLine("Successfully added");
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 2:
                    Console.Clear();
                    Console.Write("Passport: ");
                    passport = Check.Check_value(Console.ReadLine(), passport_regex);

                    if (passport != "")
                    {
                        Client_management.Remove_client(passport);
                        Console.WriteLine("Successfully removed");
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 3:
                    Console.Clear();
                    Client_management.Info_about_all_clients();

                    Console.Write("\nClient id: ");
                    int id = int.Parse(Console.ReadLine());

                    Console.Write("New first name: ");
                    first_name = Check.Check_value(Console.ReadLine(), first_name_regex);

                    Console.Write("New last name: ");
                    last_name = Check.Check_value(Console.ReadLine(), last_name_regex);

                    Console.Write("New passport: ");
                    passport = Check.Check_value(Console.ReadLine(), passport_regex);

                    Console.Write("New phone number: ");
                    phone_number = Check.Check_value(Console.ReadLine(), phone_number_regex);

                    if (id.ToString() != "" && first_name != "" && last_name != "" && passport != "" && phone_number != "" &&
                        Client_management.Is_unique_passport(passport) && Client_management.Is_unique_phone_number(phone_number))
                    {
                        Client_management.Change_client_info(id, first_name, last_name, passport, phone_number);
                        Console.WriteLine("Successfully changed");
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 4:
                    Console.Clear();
                    Console.Write("Passport: ");
                    passport = Check.Check_value(Console.ReadLine(), passport_regex);

                    Console.Clear();

                    if (passport != "")
                    {
                        Client_management.Client_info(passport);
                    }
                    else
                    {
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 5:
                    Console.Clear();

                    if (Client_management.clients.Count == 0)
                    {
                        Console.WriteLine("There are no clients");
                    }
                    else
                    {
                        Client_management.Info_about_all_clients();
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 6:
                    Console.Clear();
                    Client_management.Sort_by_first_name();

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 7:
                    Console.Clear();
                    Client_management.Sort_by_last_name();

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 8:
                    Console.Clear();
                    Console.Write("First name: ");
                    first_name = Check.Check_value(Console.ReadLine(), first_name_regex);

                    Console.Clear();

                    if (first_name != "")
                    {
                        int i = 0;
                        while (i < Client_management.Search_by_first_name(first_name).Count)
                        {
                            Client c = Client_management.Search_by_first_name(first_name)[i];
                            Client_management.Client_info(c);

                            if (i != Client_management.Search_by_first_name(first_name).Count - 1)
                            {
                                Console.WriteLine("- - - - - - - - - -");
                            }

                            i++;
                        }
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                case 9:
                    Console.Clear();
                    Console.Write("Last name: ");
                    last_name = Check.Check_value(Console.ReadLine(), last_name_regex);

                    Console.Clear();

                    if (last_name != "")
                    {
                        int j = 0;
                        while (j < Client_management.Search_by_last_name(last_name).Count)
                        {
                            Client c = Client_management.Search_by_last_name(last_name)[j];
                            Client_management.Client_info(c);

                            if (j != Client_management.Search_by_last_name(last_name).Count - 1)
                            {
                                Console.WriteLine("- - - - - - - - - -");
                            }

                            j++;
                        }
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Incorrect input");
                    }

                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    Client_management_menu();
                    break;

                default:
                    Console.Clear();
                    Console.WriteLine("Invalid input");
                    Console.ReadKey();
                    break;
                }
            }
            catch
            {
                Console.WriteLine("ERROR");
                Console.ReadKey();
            }
        }