123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- using PP_Ven_MosS.ModelBase;
- using System;
- using System.Collections.Generic;
- using System.Data.Entity;
- using System.Linq;
- using System.Text;
- 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 PP_Ven_MosS.Classes;
- using System.Data;
- using System.Text.RegularExpressions;
- using System.Xml.Linq;
- namespace PP_Ven_MosS.Pages
- {
- /// <summary>
- /// Логика взаимодействия для Registration.xaml
- /// </summary>
- public partial class Registration : Page
- {
- public Registration()
- {
- InitializeComponent();
- CBRole.ItemsSource = Classes.Database.entities.Role.ToList();
- CBRole.SelectedValue = "Id_role";
- CBRole.DisplayMemberPath = "Title_role";
- CBRole.SelectedIndex = 2;
- }
- private void reg_Click(object sender, RoutedEventArgs e)
- {
- User user = Classes.Database.entities.User.FirstOrDefault(x => x.Login == login.Text);
- string Surname = Surn.Text.Trim();
- string Name = Nam.Text.Trim();
- string Patronymic = Patron.Text.Trim();
- string Dolgnost = Dolg.Text.Trim();
- string PhoneNum = PhNum.Text.Trim();
- string Login = login.Text.Trim();
- string Password = password.Password.Trim();
- string Role = CBRole.Text.Trim();
- Regex pass1 = new Regex("[A-Z]");
- Regex pass2 = new Regex("[a-z]");
- Regex pass3 = new Regex("[0-9]");
- Regex pass4 = new Regex(@"[!@#$%^&*()_+{}\[\]:;<>,.?~\\-]");
- Regex pass5 = new Regex(".");
- if (pass1.IsMatch(password.Password) == false)
- {
- password.ToolTip = "Ошибка ввода";
- password.Background = Brushes.Red;
- MessageBox.Show("Пароль должен содержать не менее 1 заглавной латиской буквы");
- }
- else if (pass2.Matches(password.Password).Count < 3)
- {
- password.ToolTip = "Ошибка ввода";
- password.Background = Brushes.Red;
- MessageBox.Show("Пароль должен содержать не менее 3 прописных латинских букв");
- }
- else if (pass3.Matches(password.Password).Count < 2)
- {
- password.ToolTip = "Ошибка ввода";
- password.Background = Brushes.Red;
- MessageBox.Show("Пароль должен содержать не менее 2 цифр");
- }
- else if (pass4.IsMatch(password.Password) == false)
- {
- password.ToolTip = "Ошибка ввода";
- password.Background = Brushes.Red;
- MessageBox.Show("Пароль должен содержать не менее 1 спецсимвол");
- }
- else if (pass5.Matches(password.Password).Count < 8)
- {
- password.ToolTip = "Ошибка ввода";
- password.Background = Brushes.Red;
- MessageBox.Show("Пароль должен содержать не менее 8 символов");
- }
- else if (user != null)
- {
- MessageBox.Show("Пользователь с таким логином уже существует.");
- login.ToolTip = "Ошибка ввода";
- login.Background = Brushes.Red;
- }
- else if (true)
- {
- try
- {
- password.ToolTip = "";
- password.Background = Brushes.Red;
- login.ToolTip = "";
- login.Background = Brushes.Red;
- User newUser = new User()
- {
- Surname = Surn.Text,
- Name = Nam.Text,
- Patronymic = Patron.Text,
- Post = Dolg.Text,
- Phone_number = PhNum.Text,
- Login = login.Text,
- Password = password.Password.GetHashCode().ToString(),
- Id_role = CBRole.SelectedIndex + 1,
- Count_complete_app = 0,
- Count_complete_event = 0,
- };
- Classes.Database.entities.User.Add(newUser);
- Classes.Database.entities.SaveChanges();
- MessageBox.Show("Вы зарегистрировались!");
- UserID.userid = newUser.Id_user;
- UserRole.userrole = newUser.Id_role;
- if (UserRole.userrole == 1)
- {
- FrameClass.MainFrame.Navigate(new MenuAdmin());
- }
- else if (UserRole.userrole == 2)
- {
- FrameClass.MainFrame.Navigate(new ApplicationsListAdmin());
- }
- else if (UserRole.userrole == 3)
- {
- FrameClass.MainFrame.Navigate(new ApplicationsListUser());
- }
- else
- {
- MessageBox.Show("Ошибка");
- }
- }
- catch
- {
- MessageBox.Show("Проверьте заполнение всех полей!");
- }
- }
- }
- private void Back_Click(object sender, RoutedEventArgs e)
- {
- FrameClass.MainFrame.Navigate(new Avtorization());
- }
- }
- }
|