PosleRegistracii.cs 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Data.SqlClient;
  11. using System.Text.RegularExpressions;
  12. namespace proba
  13. {
  14. public partial class PosleRegistracii : Form
  15. {
  16. public int razmer = 0;
  17. public static string[] Surname = new string[1];
  18. public static string[] Name1 = new string[1];
  19. public static string[] Patronymic = new string[1];
  20. public static string[] Login = new string[1];
  21. DataBase dataBase = new DataBase();
  22. public PosleRegistracii()
  23. {
  24. InitializeComponent();
  25. }
  26. private void button2_Click(object sender, EventArgs e)
  27. {
  28. dataBase.openConnection();
  29. Regex rg = new Regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,15}$");
  30. string pass = PoleReg2.Text;
  31. string sqccommand_pol = $"SELECT id_pol From Pol WHERE pol = '{text_id_pol.Text}'";
  32. SqlDataAdapter sda = new SqlDataAdapter(sqccommand_pol, dataBase.GetConnection());
  33. DataTable dtbl = new DataTable();
  34. sda.Fill(dtbl);
  35. if (dtbl.Rows.Count == 0) MessageBox.Show("Поле пол должно быть выбрано из списка");
  36. else if (PoleReg1.TextLength > 15) MessageBox.Show("Максимальная длина логина – 15 символов");
  37. else if (PoleReg1.Text.Replace(" ", "") == "") MessageBox.Show("Поле логина не может быть пустым");
  38. else if (surname.Text.Replace(" ", "") == "") MessageBox.Show("Поле фамилия не может быть пустым");
  39. else if (name.Text.Replace(" ", "") == "") MessageBox.Show("Поле имя не может быть пустым");
  40. else if (patronymic.Text.Replace(" ", "") == "") MessageBox.Show("Поле отчество не может быть пустым");
  41. else if (text_id_pol.Text.Replace(" ", "") == "") MessageBox.Show("Поле пол не может быть пустым");
  42. else if (date_of_birth.Text.Replace(" ", "") == "") MessageBox.Show("Поле дата рождения не может быть пустым");
  43. else if (PoleReg2.Text == PoleReg3.Text)
  44. if(rg.IsMatch(pass))
  45. {
  46. string query = "Select * from Employee where login = '" + PoleReg1.Text.Trim() + "'";
  47. SqlDataAdapter sda1 = new SqlDataAdapter(query, dataBase.GetConnection());
  48. DataTable dtbl1 = new DataTable();
  49. sda1.Fill(dtbl1);
  50. if (dtbl1.Rows.Count == 0)
  51. {
  52. dataBase.openConnection();
  53. string pol;
  54. SqlCommand sqlCommand2 = new SqlCommand(sqccommand_pol, dataBase.GetConnection());
  55. pol = sqlCommand2.ExecuteScalar().ToString();
  56. Shifr.phraze = PoleReg2.Text;
  57. Shifr myTeloInfo = new Shifr();
  58. myTeloInfo.ShifrCode();
  59. string password = "";
  60. for (int i = 0; i < Shifr.codePhraze.Length; i++)
  61. {
  62. password = password + Shifr.codePhraze[i];
  63. }
  64. String Proverka = "INSERT INTO Employee(surname, name , patronymic, id_pol, date_of_birth, id_role, phone, login, password) values('" + surname.Text.Trim() + "', '"+ name.Text.Trim() + "', '" + patronymic.Text.Trim() +"', + '" + pol +"', '" + date_of_birth.Text.Trim() + "', 2, '" + phone.Text.Trim() + "', '" + PoleReg1.Text.Trim() + "', '" + password + "')";
  65. SqlDataAdapter sda2 = new SqlDataAdapter(Proverka, dataBase.GetConnection());
  66. DataTable dtbl2 = new DataTable();
  67. sda2.Fill(dtbl2);
  68. MessageBox.Show("Вы успешно зарегистрировались");
  69. this.Hide();
  70. Surname[razmer] = surname.Text;
  71. Name1[razmer] = name.Text;
  72. Patronymic[razmer] = patronymic.Text;
  73. Login[razmer] = PoleReg1.Text;
  74. Array.Resize(ref Surname, Surname.Length + 1);
  75. Array.Resize(ref Name1, Name1.Length + 1);
  76. Array.Resize(ref Patronymic, Patronymic.Length + 1);
  77. Array.Resize(ref Login, Login.Length + 1);
  78. razmer++;
  79. PosleVHODA poslevhoda = new PosleVHODA();
  80. poslevhoda.ShowDialog();
  81. }
  82. else
  83. {
  84. MessageBox.Show("Логин уже занят!!!");
  85. }
  86. }
  87. else
  88. {
  89. MessageBox.Show("Пароль не соответствует требованиям");
  90. }
  91. else
  92. {
  93. MessageBox.Show("Повторный пароль введён не верно!!!");
  94. }
  95. }
  96. private void button_back_Click(object sender, EventArgs e)
  97. {
  98. this.Hide();
  99. Autorization autorization = new Autorization();
  100. autorization.ShowDialog();
  101. }
  102. public void global_FormClosed(object sender, EventArgs e)
  103. {
  104. Application.Exit();
  105. }
  106. private void PosleRegistracii_Load(object sender, EventArgs e)
  107. {
  108. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Pol.Pol". При необходимости она может быть перемещена или удалена.
  109. this.polTableAdapter.Fill(this.vINILDataSet_Pol.Pol);
  110. }
  111. private void PoleReg1_KeyPress(object sender, KeyPressEventArgs e)
  112. {
  113. if (e.KeyChar == (int)Keys.Space)
  114. e.KeyChar = '\0';
  115. }
  116. private void PoleReg2_KeyPress(object sender, KeyPressEventArgs e)
  117. {
  118. if (e.KeyChar == (int)Keys.Space)
  119. e.KeyChar = '\0';
  120. }
  121. private void PoleReg3_KeyPress(object sender, KeyPressEventArgs e)
  122. {
  123. if (e.KeyChar == (int)Keys.Space)
  124. e.KeyChar = '\0';
  125. }
  126. private void phone_KeyPress(object sender, KeyPressEventArgs e)
  127. {
  128. char number = e.KeyChar;
  129. if (!Char.IsDigit(number) && number != 8 && !(e.KeyChar == '+') && !(e.KeyChar == '(') && !(e.KeyChar == ')'))
  130. {
  131. e.Handled = true;
  132. }
  133. }
  134. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  135. {
  136. if(checkBox1.Checked)
  137. {
  138. PoleReg2.UseSystemPasswordChar = false;
  139. }
  140. else
  141. {
  142. PoleReg2.UseSystemPasswordChar = true;
  143. }
  144. }
  145. private void checkBox2_CheckedChanged(object sender, EventArgs e)
  146. {
  147. if(checkBox2.Checked)
  148. {
  149. PoleReg3.UseSystemPasswordChar = false;
  150. }
  151. else
  152. {
  153. PoleReg3.UseSystemPasswordChar = true;
  154. }
  155. }
  156. private void button1_Click(object sender, EventArgs e)
  157. {
  158. MessageBox.Show("Внимание! используйте только указанные символы. Пароль для регистрации в приложении должен содержать:\n \t 1. A-Z: хотя бы одну заглавную латинскую букву." +
  159. "\n\t 2. a-z: хотя бы одну строчную латинскую букву. \n\t 3. 8-15 символов \n\t 4. 0-9: одну или несколько цифр \n\t 5. !?@$#%_*=() минимум один спец символ");
  160. }
  161. }
  162. }