using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Runtime.Remoting.Metadata.W3cXsd2001; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Xml.Linq; namespace Prakticheskaya5_Venediktov { /// /// Логика взаимодействия для Page2.xaml /// public partial class Registr : Page { public Registr() { InitializeComponent(); Gender.ItemsSource = Base.database.Pol.ToList(); Gender.SelectedValuePath = "id"; Gender.DisplayMemberPath = "Gender"; } private void Button_Click(object sender, RoutedEventArgs e) { bool flag = true; Regex check1 = new Regex("^(?=.*[0-9]){2,}"); Regex check2 = new Regex("(?=.*[a-z]){3,}"); Regex check3 = new Regex("(?=.*[A-Z])"); Regex check4 = new Regex("(?=.*[!@#$%^&*()=+_])"); Regex check5 = new Regex("[0-9a-zA-Z!@#$%^&*()=+_]{8,}"); while (flag) { if (Surname.Text != null && Name.Text != null && Login != null && Password.Password != null && Gender.SelectedItem != null && BrthDate.SelectedDate != null) { if (check1.IsMatch(Password.Password) && check2.IsMatch(Password.Password) && check3.IsMatch(Password.Password) && check4.IsMatch(Password.Password) && check5.IsMatch(Password.Password)) { Users newuser = new Users() { Name = Name.Text, Surname = Surname.Text, Birthday = (DateTime)BrthDate.SelectedDate, Login = Login.Text, Password = Password.Password.GetHashCode(), ID_Gender = ((Pol)Gender.SelectedItem).ID_Gender, ID_Role = Role.SelectedIndex +1, }; Users checkuser = Base.database.Users.FirstOrDefault(x => x.Login == Login.Text); if (checkuser != null) { MessageBox.Show("Этот логин уже занят"); flag = false; } else { Base.database.Users.Add(newuser); Base.database.SaveChanges(); MessageBox.Show("Регистрация успешно завершена"); Class1.frm.Navigate(new MainWindow()); flag = false; } } else if (check1.IsMatch(Password.Password) == false) { MessageBox.Show("В пароле должно быть не менее 2 цифр!"); flag = false; } else if (check2.IsMatch(Password.Password) == false) { MessageBox.Show("В пароле должно быть не менее 3 строчных латинских букв!"); flag = false; } else if (check3.IsMatch(Password.Password) == false) { MessageBox.Show("В пароле должно быть не менее 1 заглавной латинской буквы!"); flag = false; } else if (check4.IsMatch(Password.Password) == false) { MessageBox.Show("В пароле должно быть не менее 1 специального символа!"); flag = false; } else if (check5.IsMatch(Password.Password) == false) { MessageBox.Show("Длина пароля должна составлять не менее 8 символов!"); flag = false; } } else { MessageBox.Show("Не все данные введены"); flag = false; } } } } }