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.Navigation; using System.Windows.Shapes; namespace veloprokat2 { /// /// Логика взаимодействия для MainWindow.xaml /// public partial class MainWindow : 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"}; VeloprokatEntities db; public MainWindow() { InitializeComponent(); db = new VeloprokatEntities(); } 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) { if (Login.Text != "" && Pass.Password != "" && Pass2.Password != "" && Lname.Text != "" && Fname.Text != "" && Mname.Text != "" && Email.Text != "" && Phone.Text != "" && Dr.Text != "") { bool fam = false, imya = false, otch = false, data = false, num = false; bool email = false, login = false, pas1 = false, pas2 = false; for (int i = 0; i < Login.Text.Length; i++)//проверка логина { if (login) { login = false; } if (Login.Text[i] >= 'A' && Login.Text[i] <= 'Z' || Login.Text[i] >= 'a' && Login.Text[i] <= 'z') { login = true; break; } if (login == false) { MessageBox.Show("Поле логин должно содержать только английские символы"); break; } } for (int i = 0; i < Pass.Password.Length; i++)//проверка пароля(англ символы) { if (pas1) { pas1 = false; } if (Pass.Password[i] >= 'a' && Pass.Password[i] <= 'z' || Pass.Password[i] >= 'A' && Pass.Password[i] <= 'Z' || Pass.Password[i] >= '0' && Pass.Password[i] <= '9') { pas1 = true; break; } if (pas1 == false) { MessageBox.Show("Поле пароль должно содержать только английские символы и цифры"); break; } } for (int i = 0; i < Pass2.Password.Length; i++)//проверка подтверждения пароля { if (pas2) { pas2 = false; } if (Pass2.Password[i] == Pass2.Password[i]) { pas2 = true; break; } if (pas2 == false) { MessageBox.Show("Пароль не совпадает или вы не ввели его"); break; } } for (int i = 0; i < Lname.Text.Length; i++)//проверка фамилии { if (fam) { fam = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(Lname.Text[i]).Contains(Alphabetrus[j])) { fam = true; break; } } if (fam == false) { MessageBox.Show("Поле фамилия должно содержать только русские символы"); break; } } for (int i = 0; i < Fname.Text.Length; i++)//проверка имени { if (imya) { imya = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(Fname.Text[i]).Contains(Alphabetrus[j])) { imya = true; break; } } if (imya == false) { MessageBox.Show("Поле имя должно содержать только русские символы"); break; } } for (int i = 0; i < Mname.Text.Length; i++)//проверка отчества { if (otch) { otch = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(Mname.Text[i]).Contains(Alphabetrus[j])) { otch = true; break; } } if (otch == false) { MessageBox.Show("Поле отчество должно содержать только русские символы"); break; } } for (int i = 0; i < Email.Text.Length; i++)//проверка почту { if (email) { email = false; } if (Email.Text[i] >= 'A' && Email.Text[i] <= 'Z' || Email.Text[i] >= 'a' && Email.Text[i] <= 'z' || Email.Text.Contains("@") || Email.Text.Contains(".")) { email = true; break; } if (email == false) { MessageBox.Show("Поле электронная почта должно содержать только английские символы и знаки '@' и '.'"); break; } } for (int i = 0; i < Phone.Text.Length; i++)//проверка номера телефона { if (num) { num = false; } for (int j = 0; j < NumberPhone.Count; j++) { if (Convert.ToString(Phone.Text[i]).Contains(NumberPhone[j])) { num = true; break; } } if (num == false) { MessageBox.Show("Поле номер телефона должно содержать только цифры (без знака + и 11 цифр)"); break; } } for (int i = 0; i < Dr.Text.Length; i++)//проверка даты рождения { if (data) { data = false; } for (int j = 0; j < Date.Count; j++) { if (Convert.ToString(Dr.Text[i]).Contains(Date[j])) { data = true; break; } } if (data == false) { MessageBox.Show("Поле дата рождения должно содержать только цифры и знак '.''"); break; } } if (fam && imya && otch && data && num && email && login && pas1 && pas2) { DataTable InfoRab = Insert("insert into [dbo].[InfoRab] 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(); } else { MessageBox.Show("Неправильный формат"); } } else { MessageBox.Show("Все строки должны быть заполнены"); } } private void Otmena(object sender, RoutedEventArgs e) { MainWindowAdm MWA= new MainWindowAdm(); MWA.Show(); Close(); } } }