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; } } } }
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); }
public BestPassword(PasswordWriter toDecorate) : base(toDecorate) { }
public ConcretePassword(PasswordWriter toDecorate) : base(toDecorate) { }