Registration.xaml.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. using PP_Ven_MosS.ModelBase;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data.Entity;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Navigation;
  16. using System.Windows.Shapes;
  17. using PP_Ven_MosS.Classes;
  18. using System.Data;
  19. using System.Text.RegularExpressions;
  20. using System.Xml.Linq;
  21. namespace PP_Ven_MosS.Pages
  22. {
  23. /// <summary>
  24. /// Логика взаимодействия для Registration.xaml
  25. /// </summary>
  26. public partial class Registration : Page
  27. {
  28. public Registration()
  29. {
  30. InitializeComponent();
  31. CBRole.ItemsSource = Classes.Database.entities.Role.ToList();
  32. CBRole.SelectedValue = "Id_role";
  33. CBRole.DisplayMemberPath = "Title_role";
  34. CBRole.SelectedIndex = 1;
  35. }
  36. private void reg_Click(object sender, RoutedEventArgs e)
  37. {
  38. User user = Classes.Database.entities.User.FirstOrDefault(x => x.Login == login.Text);
  39. string Surname = Surn.Text.Trim();
  40. string Name = Nam.Text.Trim();
  41. string Patronymic = Patron.Text.Trim();
  42. string Dolgnost = Dolg.Text.Trim();
  43. string PhoneNum = PhNum.Text.Trim();
  44. string Login = login.Text.Trim();
  45. string Password = password.Password.Trim();
  46. string Role = CBRole.Text.Trim();
  47. Regex pass1 = new Regex("[A-Z]");
  48. Regex pass2 = new Regex("[a-z]");
  49. Regex pass3 = new Regex("[0-9]");
  50. Regex pass4 = new Regex(@"[!@#$%^&*()_+{}\[\]:;<>,.?~\\-]");
  51. Regex pass5 = new Regex(".");
  52. if (pass1.IsMatch(password.Password) == false)
  53. {
  54. password.ToolTip = "Ошибка ввода";
  55. password.Background = Brushes.Red;
  56. MessageBox.Show("Пароль должен содержать не менее 1 заглавной латиской буквы");
  57. }
  58. else if (pass2.Matches(password.Password).Count < 3)
  59. {
  60. password.ToolTip = "Ошибка ввода";
  61. password.Background = Brushes.Red;
  62. MessageBox.Show("Пароль должен содержать не менее 3 прописных латинских букв");
  63. }
  64. else if (pass3.Matches(password.Password).Count < 2)
  65. {
  66. password.ToolTip = "Ошибка ввода";
  67. password.Background = Brushes.Red;
  68. MessageBox.Show("Пароль должен содержать не менее 2 цифр");
  69. }
  70. else if (pass4.IsMatch(password.Password) == false)
  71. {
  72. password.ToolTip = "Ошибка ввода";
  73. password.Background = Brushes.Red;
  74. MessageBox.Show("Пароль должен содержать не менее 1 спецсимвол");
  75. }
  76. else if (pass5.Matches(password.Password).Count < 8)
  77. {
  78. password.ToolTip = "Ошибка ввода";
  79. password.Background = Brushes.Red;
  80. MessageBox.Show("Пароль должен содержать не менее 8 символов");
  81. }
  82. else if (user != null)
  83. {
  84. MessageBox.Show("Пользователь с таким логином уже существует.");
  85. login.ToolTip = "Ошибка ввода";
  86. login.Background = Brushes.Red;
  87. }
  88. else if (true)
  89. {
  90. try
  91. {
  92. password.ToolTip = "";
  93. password.Background = Brushes.Red;
  94. login.ToolTip = "";
  95. login.Background = Brushes.Red;
  96. User newUser = new User()
  97. {
  98. Surname = Surn.Text,
  99. Name = Nam.Text,
  100. Patronymic = Patron.Text,
  101. Post = Dolg.Text,
  102. Phone_number = PhNum.Text,
  103. Login = login.Text,
  104. Password = password.Password.GetHashCode().ToString(),
  105. Id_role = CBRole.SelectedIndex + 1,
  106. Count_complete_app = 0,
  107. Count_complete_event = 0,
  108. };
  109. Classes.Database.entities.User.Add(newUser);
  110. Classes.Database.entities.SaveChanges();
  111. MessageBox.Show("Вы зарегистрировались!");
  112. UserID.userid = newUser.Id_user;
  113. UserRole.userrole = newUser.Id_role;
  114. if (UserRole.userrole == 1)
  115. {
  116. FrameClass.MainFrame.Navigate(new MenuAdmin());
  117. }
  118. else if (UserRole.userrole == 2)
  119. {
  120. FrameClass.MainFrame.Navigate(new ApplicationsListAdmin());
  121. }
  122. else if (UserRole.userrole == 3)
  123. {
  124. FrameClass.MainFrame.Navigate(new ApplicationsListUser());
  125. }
  126. else
  127. {
  128. MessageBox.Show("Ошибка");
  129. }
  130. }
  131. catch
  132. {
  133. MessageBox.Show("Проверьте заполнение всех полей!");
  134. }
  135. }
  136. }
  137. private void Back_Click(object sender, RoutedEventArgs e)
  138. {
  139. FrameClass.MainFrame.Navigate(new Avtorization());
  140. }
  141. }
  142. }