示例#1
0
        public static void EnterPhoneNumber(User user)
        {
            Console.Clear();
            const int FIELD_NUMBER_5 = 5;
            String    stars          = new string('*', user.Password.Length);

            Show(user, FIELD_NUMBER_5, stars, stars);
            user.PhoneNumber = Console.ReadLine();

            string pattern = @"^\+?[7]\d{10}$";

            if (!(Regex.IsMatch(user.PhoneNumber, pattern, RegexOptions.IgnoreCase)))
            {
                Console.WriteLine("Телефонный номер содержит недопустимые символы или введен не корректно, нажмите Enter чтобы ввести заново...");
                user.PhoneNumber = "";
                Console.ReadKey();
                EnterPhoneNumber(user);
            }
            if (AccountsTableDataService.CheckForAvailability("PhoneNumber", user.PhoneNumber))
            {
                Console.WriteLine("Номер уже использовался, нажмите Enter чтобы ввести заново...");
                user.PhoneNumber = "";
                Console.ReadKey();
                EnterPhoneNumber(user);
            }
        }
示例#2
0
        public static void EnterEmail(User user)
        {
            Console.Clear();
            const int FIELD_NUMBER_4 = 4;
            String    stars          = new string('*', user.Password.Length);

            Show(user, FIELD_NUMBER_4, stars, stars);
            user.Email = Console.ReadLine();

            string pattern = @"^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$";

            if (!(Regex.IsMatch(user.Email, pattern)))
            {
                Console.WriteLine("Некорректный email, нажмите Enter чтобы ввести заново...");
                user.Email = "";
                Console.ReadKey();
                EnterEmail(user);
            }
            if (AccountsTableDataService.CheckForAvailability("Email", user.Email))
            {
                Console.WriteLine("Данная почта уже существует в базе данных, нажмите Enter чтобы ввести заново...");
                user.Email = "";
                Console.ReadKey();
                EnterEmail(user);
            }
        }
示例#3
0
        public static void EnterLogin(User user)
        {
            Console.Clear();
            const int FIELD_NUMBER = 1;

            Show(user, FIELD_NUMBER);
            user.Login = Console.ReadLine();

            Regex           regex   = new Regex(@"\W|[А-Яа-я]+");
            MatchCollection matches = regex.Matches(user.Login);

            if (matches.Count > 0)
            {
                Console.WriteLine("Логин содержит недопустимые символы, нажмите Enter чтобы ввести заново...");
                user.Login = "";
                Console.ReadKey();
                EnterLogin(user);
            }

            var results = new List <ValidationResult>();
            var context = new ValidationContext(user);

            if (!Validator.TryValidateObject(user, context, results, true))
            {
                foreach (var error in results)
                {
                    Console.WriteLine(error.ErrorMessage);
                }
                user.Login = "";
                Console.ReadKey();
                EnterLogin(user);
            }
            if (AccountsTableDataService.CheckForAvailability("Login", user.Login))
            {
                Console.WriteLine("Логин уже занят, нажмите Enter чтобы ввести заново...");
                user.Login = "";
                Console.ReadKey();
                EnterLogin(user);
            }
        }
示例#4
0
 private static bool EnterLogin(User user)
 {
     Console.Write("Login: "******"Login", user.Login));
 }
示例#5
0
 private static bool EnterPassword(User user)
 {
     Console.Write("Password: "******"Password", user.Password, user.Login));
 }