예제 #1
0
파일: Menu.cs 프로젝트: YerikMeg/PizzaApp
        public void ShowRegistrationMenu()
        {
            System.Console.Clear();
            bool check = false;

            while (!check)
            {
                System.Console.Write("Введите Ф.И.О - ");
                string fullName = System.Console.ReadLine();

                System.Console.Write("Введите ваш адрес проживания - ");
                string address = System.Console.ReadLine();

                System.Console.Write("Введите ваш номер телефона - ");
                PhoneNumber = System.Console.ReadLine();

                System.Console.Write("Введите логин (максимум симвлов - 20) - ");
                Login = System.Console.ReadLine();

                System.Console.WriteLine("Требования к паролю - ");
                System.Console.WriteLine("Максимум символов - 16");
                System.Console.WriteLine("Минимум символов - 6");
                System.Console.WriteLine("Минимум одна строчная и заглавная буква");
                System.Console.WriteLine("Минимум одна цифра и символ(#, $ и. т. д.)");
                System.Console.Write("Введите пароль - ");

                Password = System.Console.ReadLine();
                System.Console.Clear();

                check = Registrate(fullName, Login, Password, address, PhoneNumber);
            }

            System.Console.WriteLine("Выберите способ подтверждения личности - ");
            System.Console.WriteLine("SMS на номер телефона - 1");
            System.Console.WriteLine("Телеграм бот - 2");
            string userNumber = System.Console.ReadLine();


            while (true)
            {
                if (userNumber == "1")
                {
                    try
                    {
                        SmsSender smsSender = new SmsSender();
                        smsSender.SendSms(PhoneNumber);

                        System.Console.WriteLine($"Вам на номер телефона {PhoneNumber} придет смс с 4-х значным кодом");
                        System.Console.Write("Введите код - ");

                        string messageCode = System.Console.ReadLine();

                        while (!smsSender.CheckMessage(messageCode))
                        {
                            System.Console.WriteLine("Ошибка, код не верный!");
                            System.Console.WriteLine("Введите код -");
                            messageCode = System.Console.ReadLine();
                        }

                        break;
                    }
                    catch (Twilio.Exceptions.ApiException)
                    {
                        System.Console.WriteLine("Регистрация прервана!");
                        System.Console.WriteLine("Ошибка отправки смс!");
                        System.Console.WriteLine("Нажмите Enter чтобы продолжить!");
                        System.Console.ReadKey();
                        break;
                    }
                }
                else if (userNumber == "2")
                {
                    try
                    {
                        SendSms();


                        System.Console.Write("Введите код - ");
                        string messageCode = System.Console.ReadLine();

                        while (messageCode != Message)
                        {
                            System.Console.WriteLine("Ошибка, код не верный!");
                            System.Console.WriteLine("Введите код -");
                            messageCode = System.Console.ReadLine();
                        }
                        break;
                    }
                    catch (Exception)
                    {
                        System.Console.WriteLine("Error");
                        break;
                    }
                }
                else
                {
                    System.Console.WriteLine("Ошибка ввода!");
                    System.Console.WriteLine("Повторите ввод!");
                }
            }


            SaveUser();
            System.Console.WriteLine("Регистрация прошла успешно!");
            System.Console.WriteLine("Нажмите Enter чтобы продолжить!");
            System.Console.ReadKey();
        }