PersonalArea.cs 5.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. namespace proba
  12. {
  13. public partial class PersonalArea : Form
  14. {
  15. DataBase dataBase = new DataBase();
  16. public PersonalArea()
  17. {
  18. InitializeComponent();
  19. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Pol.Pol". При необходимости она может быть перемещена или удалена.
  20. this.polTableAdapter.Fill(this.vINILDataSet_Pol.Pol);
  21. dataBase.openConnection();
  22. SqlCommand sqlCommand_surname = new SqlCommand($"SELECT surname From Employee WHERE login = '{PosleVHODA.login}'", dataBase.GetConnection());
  23. surname.Text = sqlCommand_surname.ExecuteScalar().ToString();
  24. SqlCommand sqlCommand_name = new SqlCommand($"SELECT name From Employee WHERE login = '{PosleVHODA.login}'", dataBase.GetConnection());
  25. name.Text = sqlCommand_name.ExecuteScalar().ToString();
  26. SqlCommand sqlCommand_patronymic = new SqlCommand($"SELECT patronymic From Employee WHERE login = '{PosleVHODA.login}'", dataBase.GetConnection());
  27. patronymic.Text = sqlCommand_patronymic.ExecuteScalar().ToString();
  28. SqlCommand sqlCommand_pol = new SqlCommand($"SELECT P.pol From Employee E inner join Pol P ON E.id_pol=P.id_pol WHERE E.login = '{PosleVHODA.login}'", dataBase.GetConnection());
  29. text_id_pol.Text = sqlCommand_pol.ExecuteScalar().ToString();
  30. SqlCommand sqlCommand_date_of_birth = new SqlCommand($"SELECT date_of_birth From Employee WHERE login = '{PosleVHODA.login}'", dataBase.GetConnection());
  31. date_of_birth.Text = sqlCommand_date_of_birth.ExecuteScalar().ToString();
  32. SqlCommand sqlCommand_phone = new SqlCommand($"SELECT phone From Employee WHERE login = '{PosleVHODA.login}'", dataBase.GetConnection());
  33. phone.Text = sqlCommand_phone.ExecuteScalar().ToString();
  34. text_login.Text = PosleVHODA.login;
  35. }
  36. private void button_back_Click(object sender, EventArgs e)
  37. {
  38. this.Hide();
  39. MainMenu mainMenu = new MainMenu();
  40. mainMenu.ShowDialog();
  41. }
  42. public void global_FormClosed(object sender, EventArgs e)
  43. {
  44. Application.Exit();
  45. }
  46. private void button_save_Click(object sender, EventArgs e)
  47. {
  48. string sqccommand_pol = $"SELECT id_pol From Pol WHERE pol = '{text_id_pol.Text}'";
  49. SqlDataAdapter sda = new SqlDataAdapter(sqccommand_pol, dataBase.GetConnection());
  50. DataTable dtbl = new DataTable();
  51. sda.Fill(dtbl);
  52. if (dtbl.Rows.Count == 0)
  53. {
  54. MessageBox.Show("Поле пол должно быть выбрано из списка");
  55. }
  56. else if (text_login.TextLength > 15) MessageBox.Show("Максимальная длина логина – 15 символов");
  57. else if (text_login.Text.Replace(" ", "") == "") MessageBox.Show("Поле логина не может быть пустым");
  58. else if (surname.Text.Replace(" ", "") == "") MessageBox.Show("Поле фамилия не может быть пустым");
  59. else if (name.Text.Replace(" ", "") == "") MessageBox.Show("Поле имя не может быть пустым");
  60. else if (patronymic.Text.Replace(" ", "") == "") MessageBox.Show("Поле отчество не может быть пустым");
  61. else if (date_of_birth.Text.Replace(" ", "") == "") MessageBox.Show("Поле дата рождения не может быть пустым");
  62. else
  63. {
  64. var confirmResult = MessageBox.Show("Вы точно хотите изменить личные данные?", "Подтвердите изменение!", MessageBoxButtons.YesNo);
  65. if (confirmResult == DialogResult.Yes)
  66. {
  67. dataBase.openConnection();
  68. string id_pol;
  69. SqlCommand sqlCommand_pol = new SqlCommand(sqccommand_pol, dataBase.GetConnection());
  70. id_pol = sqlCommand_pol.ExecuteScalar().ToString();
  71. var addQuery = $"update Employee set surname = '{surname.Text}', name = '{name.Text}', patronymic = '{patronymic.Text}', id_pol = '{id_pol}', date_of_birth = '{date_of_birth.Text}', phone = '{phone.Text}', login = '{text_login.Text}' where login = '{PosleVHODA.login}'";
  72. var command = new SqlCommand(addQuery, dataBase.GetConnection());
  73. command.ExecuteNonQuery();
  74. MessageBox.Show("Личные данные изменены");
  75. PosleVHODA.login = text_login.Text;
  76. dataBase.closeConnection();
  77. }
  78. }
  79. }
  80. private void button_change_password_Click(object sender, EventArgs e)
  81. {
  82. this.Hide();
  83. PasswordChange passwordChange = new PasswordChange();
  84. passwordChange.ShowDialog();
  85. }
  86. private void phone_KeyPress(object sender, KeyPressEventArgs e)
  87. {
  88. char number = e.KeyChar;
  89. if (!Char.IsDigit(number) && number != 8 && !(e.KeyChar == '+') && !(e.KeyChar == '(') && !(e.KeyChar == ')'))
  90. {
  91. e.Handled = true;
  92. }
  93. }
  94. }
  95. }