public void ToRegister(ref ClientsCollection clientsCollection)
        {
            Regex loginPassRuls = new Regex(@"^[a-zA-Z0-9]+$");
            Regex phoneRegex    = new Regex(@"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}");
            Regex nameRegex     = new Regex(@"^[а-яА-Яa-zA-Z]+$");

            Console.WriteLine("ВАЖНО! Вводите только латинские символы и цифры!!!");
            Console.WriteLine(new string('-', 50));

            Console.Write("Введите логин: ");

            while (true)
            {
                login = Console.ReadLine();

                if (login == "quit")
                {
                    Environment.Exit(0);
                    break;
                }

                if (!loginPassRuls.IsMatch(login))
                {
                    Console.WriteLine("Недопустимые символы, повторите попытку!");
                    continue;
                }

                if (clientsCollection.CheckContainsLogin(login))
                {
                    Console.WriteLine("Логин уже занят! Введите другой");
                    continue;
                }
                break;
            }

            Console.Write("Введите пароль: ");

            while (true)
            {
                password = Console.ReadLine();

                if (!loginPassRuls.IsMatch(password))
                {
                    Console.WriteLine("Недопустимые символы, повторите попытку!");
                    continue;
                }

                break;
            }

            Console.Write("Введите имя: ");

            while (true)
            {
                name = Console.ReadLine();

                if (!nameRegex.IsMatch(name))
                {
                    Console.WriteLine("Недопустимые символы, повторите попытку!");
                    continue;
                }

                break;
            }

            Console.Write("Введите номер телефона: ");

            while (true)
            {
                string number = Console.ReadLine();

                if (!phoneRegex.IsMatch(number))
                {
                    Console.WriteLine("Номер указан не верно, повторите попытку!");
                    continue;
                }

                int.TryParse(string.Join("", number.Where(c => char.IsDigit(c))), out phoneNumber);
                break;
            }

            clientsCollection.AddClient(login, password, name, phoneNumber);
            DataBaseController.ClientBaseSave(clientsCollection);

            Console.WriteLine(new string('-', 20) + "Регистрация завершена успешно" + new string('-', 20));

            Console.Write("Нажмите любую клавишу для продолжения");
            Console.ReadKey();
            Console.Clear();
        }
示例#2
0
        static void Main(string[] args)
        {
            ClientController clientController = new ClientController();

            clientController.DoFirstChoice(clientData);

            currentClient = clientController.DoAuthorization(clientData);

            Console.WriteLine("Клиент: {0} Статус: {1}", currentClient.name, currentClient.status);

            while (true)
            {
                myCart.Discount = (int)currentClient.status;

                myCart = menu.MakeOrder(ref myCart);

                if (myCart == null)
                {
                    break;
                }

                int proccesCode = myCart.DoChoice();

                if (proccesCode == 1)
                {
                    Console.Clear();
                    continue;
                }
                else if (proccesCode == -1)
                {
                    Console.Clear();
                    menu.SendOrder(myCart, ref currentClient);

                    clientData.ReSaveClient(currentClient);
                    DataBaseController.ClientBaseSave(clientData);

                    myCart = new ShoppingCart();

                    Console.WriteLine("Ваш заказ успешно отправлен. \n1. Сделать еще заказ \n2. Выход");
                    string choice;
                    while (true)
                    {
                        choice = Console.ReadLine();
                        if (choice == "1" || choice == "2")
                        {
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Нет такой команды, повторите ввод");
                            continue;
                        }
                    }

                    if (choice == "1")
                    {
                        Console.Clear();
                        continue;
                    }

                    break;
                }
            }

            Console.WriteLine("Спасибо за использование нашего приложения :)");

            Console.ReadKey();
        }