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 PosleRegistracii : Form { public int razmer = 0; public static string[] Surname = new string[1]; public static string[] Name1 = new string[1]; public static string[] Patronymic = new string[1]; public static string[] Login = new string[1]; DataBase dataBase = new DataBase(); public PosleRegistracii() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { dataBase.openConnection(); Regex rg = new Regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,15}$"); string pass = PoleReg2.Text; string sqccommand_pol = $"SELECT id_pol From Pol WHERE pol = '{text_id_pol.Text}'"; SqlDataAdapter sda = new SqlDataAdapter(sqccommand_pol, dataBase.GetConnection()); DataTable dtbl = new DataTable(); sda.Fill(dtbl); if (dtbl.Rows.Count == 0) MessageBox.Show("Поле пол должно быть выбрано из списка"); else if (PoleReg1.TextLength > 15) MessageBox.Show("Максимальная длина логина – 15 символов"); else if (PoleReg1.Text.Replace(" ", "") == "") 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 (text_id_pol.Text.Replace(" ", "") == "") MessageBox.Show("Поле пол не может быть пустым"); else if (date_of_birth.Text.Replace(" ", "") == "") MessageBox.Show("Поле дата рождения не может быть пустым"); else if (PoleReg2.Text == PoleReg3.Text) if(rg.IsMatch(pass)) { string query = "Select * from Employee where login = '" + PoleReg1.Text.Trim() + "'"; SqlDataAdapter sda1 = new SqlDataAdapter(query, dataBase.GetConnection()); DataTable dtbl1 = new DataTable(); sda1.Fill(dtbl1); if (dtbl1.Rows.Count == 0) { dataBase.openConnection(); string pol; SqlCommand sqlCommand2 = new SqlCommand(sqccommand_pol, dataBase.GetConnection()); pol = sqlCommand2.ExecuteScalar().ToString(); Shifr.phraze = PoleReg2.Text; Shifr myTeloInfo = new Shifr(); myTeloInfo.ShifrCode(); string password = ""; for (int i = 0; i < Shifr.codePhraze.Length; i++) { password = password + Shifr.codePhraze[i]; } 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 + "')"; SqlDataAdapter sda2 = new SqlDataAdapter(Proverka, dataBase.GetConnection()); DataTable dtbl2 = new DataTable(); sda2.Fill(dtbl2); MessageBox.Show("Вы успешно зарегистрировались"); this.Hide(); Surname[razmer] = surname.Text; Name1[razmer] = name.Text; Patronymic[razmer] = patronymic.Text; Login[razmer] = PoleReg1.Text; Array.Resize(ref Surname, Surname.Length + 1); Array.Resize(ref Name1, Name1.Length + 1); Array.Resize(ref Patronymic, Patronymic.Length + 1); Array.Resize(ref Login, Login.Length + 1); razmer++; PosleVHODA poslevhoda = new PosleVHODA(); poslevhoda.ShowDialog(); } else { MessageBox.Show("Логин уже занят!!!"); } } else { MessageBox.Show("Пароль не соответствует требованиям"); } else { MessageBox.Show("Повторный пароль введён не верно!!!"); } } private void button_back_Click(object sender, EventArgs e) { this.Hide(); Autorization autorization = new Autorization(); autorization.ShowDialog(); } public void global_FormClosed(object sender, EventArgs e) { Application.Exit(); } private void PosleRegistracii_Load(object sender, EventArgs e) { // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Pol.Pol". При необходимости она может быть перемещена или удалена. this.polTableAdapter.Fill(this.vINILDataSet_Pol.Pol); } private void PoleReg1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (int)Keys.Space) e.KeyChar = '\0'; } private void PoleReg2_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (int)Keys.Space) e.KeyChar = '\0'; } private void PoleReg3_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (int)Keys.Space) e.KeyChar = '\0'; } private void phone_KeyPress(object sender, KeyPressEventArgs e) { char number = e.KeyChar; if (!Char.IsDigit(number) && number != 8 && !(e.KeyChar == '+') && !(e.KeyChar == '(') && !(e.KeyChar == ')')) { e.Handled = true; } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if(checkBox1.Checked) { PoleReg2.UseSystemPasswordChar = false; } else { PoleReg2.UseSystemPasswordChar = true; } } private void checkBox2_CheckedChanged(object sender, EventArgs e) { if(checkBox2.Checked) { PoleReg3.UseSystemPasswordChar = false; } else { PoleReg3.UseSystemPasswordChar = true; } } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Внимание! используйте только указанные символы. Пароль для регистрации в приложении должен содержать:\n \t 1. A-Z: хотя бы одну заглавную латинскую букву." + "\n\t 2. a-z: хотя бы одну строчную латинскую букву. \n\t 3. 8-15 символов \n\t 4. 0-9: одну или несколько цифр \n\t 5. !?@$#%_*=() минимум один спец символ"); } } }