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); } }
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); } }
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); } }
private static bool EnterLogin(User user) { Console.Write("Login: "******"Login", user.Login)); }
private static bool EnterPassword(User user) { Console.Write("Password: "******"Password", user.Password, user.Login)); }