EmployeeAdd.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 EmployeeAdd : Form
  15. {
  16. DataBase dataBase = new DataBase();
  17. public EmployeeAdd()
  18. {
  19. InitializeComponent();
  20. }
  21. private void button_back_Click(object sender, EventArgs e)
  22. {
  23. this.Hide();
  24. Employee employee = new Employee();
  25. employee.ShowDialog();
  26. }
  27. public void global_FormClosed(object sender, EventArgs e)
  28. {
  29. Application.Exit();
  30. }
  31. private void EmployeeAdd_Load(object sender, EventArgs e)
  32. {
  33. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Pol.Pol". При необходимости она может быть перемещена или удалена.
  34. this.polTableAdapter.Fill(this.vINILDataSet_Pol.Pol);
  35. }
  36. private void button_save_Click(object sender, EventArgs e)
  37. {
  38. string sqccommand_pol = $"SELECT id_pol From Pol WHERE pol = '{text_id_pol.Text}'";
  39. SqlDataAdapter sda = new SqlDataAdapter(sqccommand_pol, dataBase.GetConnection());
  40. Regex rg = new Regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,15}$");
  41. string pass = textPassword.Text;
  42. DataTable dtbl = new DataTable();
  43. sda.Fill(dtbl);
  44. if (dtbl.Rows.Count == 0) MessageBox.Show("Поле пол должно быть выбрано из списка");
  45. else if (surname.Text.Replace(" ", "") == "") MessageBox.Show("Поле фамилия не может быть пустым");
  46. else if (name.Text.Replace(" ", "") == "") MessageBox.Show("Поле имя не может быть пустым");
  47. else if (patronymic.Text.Replace(" ", "") == "") MessageBox.Show("Поле отчество не может быть пустым");
  48. else if (date_of_birth.Text.Replace(" ", "") == "") MessageBox.Show("Поле дата рождения не может быть пустым");
  49. else if (phone.Text.Replace(" ", "") == "") MessageBox.Show("Поле телефон не может быть пустым");
  50. else if (PoleReg1.Text.Replace(" ", "") == "") MessageBox.Show("Поле логин не может быть пустым");
  51. else if (textPassword.Text.Replace(" ", "") == "") MessageBox.Show("Поле пароль не может быть пустым");
  52. else if (PoleReg1.TextLength > 15) MessageBox.Show("Максимальная длина логина – 15 символов");
  53. else if (textPassword.TextLength > 25) MessageBox.Show("Максимальная длина пароля – 25 символов");
  54. if (rg.IsMatch(pass))
  55. {
  56. dataBase.openConnection();
  57. SqlCommand sqlCommand_pol = new SqlCommand(sqccommand_pol, dataBase.GetConnection());
  58. var id_pol = sqlCommand_pol.ExecuteScalar().ToString();
  59. Shifr.phraze = textPassword.Text;
  60. Shifr myTeloInfo = new Shifr();
  61. myTeloInfo.ShifrCode();
  62. string password = "";
  63. for (int i = 0; i < Shifr.codePhraze.Length; i++)
  64. {
  65. password = password + Shifr.codePhraze[i];
  66. }
  67. var addQuery = $"insert into Employee (surname, name, patronymic, id_pol, date_of_birth, id_role, phone, login, password) values ('{surname.Text}','{name.Text}','{patronymic.Text}', '{id_pol}','{date_of_birth.Text}', 2, '{phone.Text}', '{PoleReg1.Text}', '{password}')";
  68. var command = new SqlCommand(addQuery, dataBase.GetConnection());
  69. command.ExecuteNonQuery();
  70. MessageBox.Show("Запись успешно добавлена в таблицу");
  71. dataBase.closeConnection();
  72. }
  73. else
  74. {
  75. MessageBox.Show("Пароль не соответствует требованиям!");
  76. }
  77. }
  78. }
  79. }