using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace veloprokat2 { /// /// Логика взаимодействия для RedAdmTest.xaml /// public partial class RedAdmTest : Window { List Alphabetrus = new List { "А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф", "Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я" }; List Date = new List { "0","1","2","3","4","5","6","7","8","9","."}; List NumberPhone = new List { "0","1","2","3","4","5","6","7","8","9"}; public RedAdmTest() { InitializeComponent(); } public bool TestReg(string id, string login, string pass, string pass2, string lname, string fname, string mname, string email, string phone, string dr) { Id.Text = id; Login.Text = login; Pass.Password = pass; Pass2.Password = pass2; Lname.Text = lname; Fname.Text = fname; Mname.Text = mname; Email.Text = email; Phone.Text = phone; Dr.Text = dr; if(id != "" && login != "" && pass != "" && pass2 != "" && lname != "" && fname != "" && mname != "" && email != "" && phone != "" && dr != "") { bool ID = false, log = false, pas = false, pas2 = false, lnam = false, fnam = false, mnam = false, mail = false, phon = false, denroj = false; { for (int i = 0; i < id.Length; i++) { if (ID) { ID = false; } for (int j = 0; j < NumberPhone.Count; j++) { if (Convert.ToString(id[i]).Contains(NumberPhone[j])) { ID = true; return true; } } if (ID == false) { MessageBox.Show("Поле № администратора должно иметь только цифры"); return false; } } for (int i = 0; i < login.Length; i++) { if (log) { log = false; } if (login[i] >= 'A' && login[i] <= 'Z' || login[i] >= 'a' && login[i] <= 'z') { log = true; break; } if (log == false) { MessageBox.Show("Поле логин должно содержать английские символы"); return false; } } for(int i = 0; i < pass.Length; i++) { if(pas) { pas = false; } if (pass[i] >= 'a' && pass[i] <= 'z' || pass[i] >= 'A' && pass[i] <= 'Z' || pass[i] >= '0' && pass[i] <= '9') { pas = true; break; } if (pas == false) { MessageBox.Show("Поле пароль должно содержать только английские символы и цифры"); return false; } } for (int i = 0; i < pass2.Length; i++) { if (pas2) { pas2 = false; } if (pass2[i] == pass[i]) { pas2 = true; break; } if (pas2 == false) { MessageBox.Show("Поле пароль должно содержать только английские символы и цифры"); return false; } } for(int i = 0; i < lname.Length; i++) { if (lnam) { lnam = false; } for(int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(lname[i]).Contains(Alphabetrus[j])) { lnam = true; break; } } if (lnam == false) { MessageBox.Show("Поле фамилия должно содержать только русские символы"); return false; } } for(int i = 0; i < fname.Length; i++) { if(fnam) { fnam = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(fname[i]).Contains(Alphabetrus[j])) { fnam = true; break; } } if (fnam == false) { MessageBox.Show("Поле имя должно содержать только русские символы"); return false; } } for (int i = 0; i < mname.Length; i++) { if (mnam) { mnam = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(mname[i]).Contains(Alphabetrus[j])) { mnam = true; break; } } if (mnam == false) { MessageBox.Show("Поле отчетсво должно содержать только русские символы"); return false; } } for (int i = 0; i < email.Length; i++) { if (mail) { mail = false; } if (email[i] >= 'A' && email[i] <= 'Z' || email[i] >= 'a' && email[i] <= 'z' || email.Contains("@") || email.Contains(".")) { mail = true; break; } if (mail == false) { MessageBox.Show("Поле E-mail должно содержать только английские символы символы"); return false; } } for (int i = 0; i < phone.Length; i++) { if (phon) { phon = false; } for (int j = 0; j < NumberPhone.Count; j++) { if (Convert.ToString(phone[i]).Contains(NumberPhone[j])) { phon = true; break; } } if (phon == false) { MessageBox.Show("Поле номер телефона должно содержать только цифры"); return false; } } for (int i = 0; i < dr.Length; i++) { if (denroj) { denroj = false; } for (int j = 0; j < Date.Count; j++) { if (Convert.ToString(dr[i]).Contains(Date[j])) { denroj = true; break; } } if (denroj == false) { MessageBox.Show("Поле дата должно содержать только цифры и знак '.'"); return false; } } if (log && pas && pas2 && lnam && fnam && mnam && mail && phon && denroj) { DataTable InfoAdm = Insert("insert into [dbo].[InfoAdm] values " + "('" + Login.Text + "','" + Pass.Password + "','" + Fname.Text + "','" + Lname.Text + "','" + Mname.Text + "','" + Email.Text + "','" + Phone.Text + "','" + Dr.Text + "')"); MessageBox.Show("Пользователь зарегистирован"); MainWindowAdm MWA = new MainWindowAdm(); MWA.Show(); Close(); return true; } else { MessageBox.Show("Неправильный формат"); return false; } } } else { MessageBox.Show("Все строки должны быть заполнены "); return false; } } public DataTable Insert(string selectSQL) // функция подключения к базе данных и обработка запросов { DataTable dataTable = new DataTable("dataBase"); // создаём таблицу в приложении // подключаемся к базе данных SqlConnection sqlConnection = new SqlConnection("server=mssql;Trusted_Connection=Yes;DataBase=gr692_kaa;"); sqlConnection.Open(); // открываем базу данных SqlCommand sqlCommand = sqlConnection.CreateCommand(); // создаём команду sqlCommand.CommandText = selectSQL; // присваиваем команде текст SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); // создаём обработчик sqlDataAdapter.Fill(dataTable); // возращаем таблицу с результатом return dataTable; } private void Registraciya(object sender, RoutedEventArgs e) { } private void Otmena(object sender, RoutedEventArgs e) { } } }