Пример #1
0
        public void Run()
        {
            loginer        = new Loginer();
            registration   = new Registration();
            passwordWriter = new PasswordWriter();
            dbManager      = new DbManager();
            users          = new List <User>();
            cart           = new List <Product>();

            paypalService = new PaypalService();

            while (true)
            {
                switch (MainMenu())
                {
                case 1:
                {
                    if (LoginMenu())
                    {
                        InnerMenu();
                    }
                    break;
                }

                case 2:
                {
                    users = dbManager.SelectUsers();
                    User newUser;

                    if (registration.TryAddUser(users, out newUser))
                    {
                        WriteLine("Регистрация успешна!");
                        dbManager.InsertUser(newUser);
                    }
                    else
                    {
                        WriteLine("Регистрация прервана.");
                    }
                    break;
                }

                case 3:
                {
                    WriteLine("До свидания!");
                    Environment.Exit(0);
                    break;
                }
                }
            }
        }
Пример #2
0
        public bool TryAddUser(List <User> users, out User newUser)
        {
            PasswordWriter passwordWriter = new PasswordWriter();
            SmsSender      smsSender      = new SmsSender();

            newUser = new User();

            string usLoginStr, usPsswdStr, usFullNameStr, usPhoneStr;

            WriteLine("Новый пользователь,");
            WriteLine("Введите логин:");

            usLoginStr = ReadLine();
            for (int i = 0; i < users.Count; i++)
            {
                if (users[i].Login == usLoginStr)
                {
                    WriteLine("Логин уже занят!");
                    return(false);
                }
            }

            if (CheckUsername(usLoginStr))
            {
                WriteLine($"Введите пароль(больше {MIN_PSSWD_LEN} символов):");
                usPsswdStr = passwordWriter.Write();

                if (CheckPassword(usPsswdStr))
                {
                    WriteLine("Введите полное имя:");
                    usFullNameStr = ReadLine();

                    WriteLine("Введите номер телефона:");
                    usPhoneStr = ReadLine();

                    if (CheckPhoneNumber(usPhoneStr))
                    {
                        string verification = smsSender.SendSms(usPhoneStr);
                        WriteLine("Введите код авторизации:");
                        if (verification == ReadLine())
                        {
                            newUser.Login       = usLoginStr.Trim();
                            newUser.Password    = usPsswdStr;
                            newUser.FullName    = usFullNameStr;
                            newUser.PhoneNumber = usPhoneStr;

                            return(true);
                        }
                        else
                        {
                            WriteLine("Неверный код авторизации!");
                        }
                    }
                    else
                    {
                        WriteLine("Неверный формат телефона!");
                    }
                }
                else
                {
                    WriteLine("Пароль недостаточно длинный!");
                }
            }
            else
            {
                WriteLine("Логин пустой!");
            }

            return(false);
        }
Пример #3
0
 public BestPassword(PasswordWriter toDecorate) : base(toDecorate)
 {
 }
Пример #4
0
 public ConcretePassword(PasswordWriter toDecorate) : base(toDecorate)
 {
 }