using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using System.Text.RegularExpressions; namespace proba { public partial class EmployeeAdd : Form { DataBase dataBase = new DataBase(); public EmployeeAdd() { InitializeComponent(); } private void button_back_Click(object sender, EventArgs e) { this.Hide(); Employee employee = new Employee(); employee.ShowDialog(); } public void global_FormClosed(object sender, EventArgs e) { Application.Exit(); } private void EmployeeAdd_Load(object sender, EventArgs e) { // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Pol.Pol". При необходимости она может быть перемещена или удалена. this.polTableAdapter.Fill(this.vINILDataSet_Pol.Pol); } private void button_save_Click(object sender, EventArgs e) { string sqccommand_pol = $"SELECT id_pol From Pol WHERE pol = '{text_id_pol.Text}'"; SqlDataAdapter sda = new SqlDataAdapter(sqccommand_pol, dataBase.GetConnection()); Regex rg = new Regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,15}$"); string pass = textPassword.Text; DataTable dtbl = new DataTable(); sda.Fill(dtbl); if (dtbl.Rows.Count == 0) MessageBox.Show("Поле пол должно быть выбрано из списка"); else if (surname.Text.Replace(" ", "") == "") MessageBox.Show("Поле фамилия не может быть пустым"); else if (name.Text.Replace(" ", "") == "") MessageBox.Show("Поле имя не может быть пустым"); else if (patronymic.Text.Replace(" ", "") == "") MessageBox.Show("Поле отчество не может быть пустым"); else if (date_of_birth.Text.Replace(" ", "") == "") MessageBox.Show("Поле дата рождения не может быть пустым"); else if (phone.Text.Replace(" ", "") == "") MessageBox.Show("Поле телефон не может быть пустым"); else if (PoleReg1.Text.Replace(" ", "") == "") MessageBox.Show("Поле логин не может быть пустым"); else if (textPassword.Text.Replace(" ", "") == "") MessageBox.Show("Поле пароль не может быть пустым"); else if (PoleReg1.TextLength > 15) MessageBox.Show("Максимальная длина логина – 15 символов"); else if (textPassword.TextLength > 25) MessageBox.Show("Максимальная длина пароля – 25 символов"); if (rg.IsMatch(pass)) { dataBase.openConnection(); SqlCommand sqlCommand_pol = new SqlCommand(sqccommand_pol, dataBase.GetConnection()); var id_pol = sqlCommand_pol.ExecuteScalar().ToString(); Shifr.phraze = textPassword.Text; Shifr myTeloInfo = new Shifr(); myTeloInfo.ShifrCode(); string password = ""; for (int i = 0; i < Shifr.codePhraze.Length; i++) { password = password + Shifr.codePhraze[i]; } 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}')"; var command = new SqlCommand(addQuery, dataBase.GetConnection()); command.ExecuteNonQuery(); MessageBox.Show("Запись успешно добавлена в таблицу"); dataBase.closeConnection(); } else { MessageBox.Show("Пароль не соответствует требованиям!"); } } } }