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 { /// /// Логика взаимодействия для TestInsertBikes.xaml /// public partial class TestInsertBikes : Window { List Alphabetrus = new List { "А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф", "Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "-", "_"}; List Number = new List { "0","1","2","3","4","5","6","7","8","9"}; public TestInsertBikes() { InitializeComponent(); } public bool TestInsert(string numberofbikes, string company, string title, string type, string zan, string idadm) { numberofbikes = NumberOfBikes.Text; company = Company.Text; title = Title.Text; type = Type.Text; zan = Zan.Text; idadm = LnameAdm.Text; if (numberofbikes != "" && company != "" && title != "" && type != "" && zan != "" && idadm != "") { bool Comp = false, tit = false, numbofbike = false, tip = false, zAn = false, idAdm = false; for (int i = 0; i < numberofbikes.Length; i++) { if (numbofbike) { numbofbike = false; } for (int j = 0; j < Number.Count; j++) { if (Convert.ToString(numberofbikes[i]).Contains(Number[j])) { numbofbike = true; break; } } if (numbofbike == false) { MessageBox.Show("Поле Номер велосипеда должно содержать только цифры"); return false; } } for (int i = 0; i < company.Length; i++) { if (Comp) { Comp = false; } if (company[i] >= 'A' && company[i] <= 'Z' || company[i] >= 'a' && company[i] <= 'z') { Comp = true; break; } if (Comp == false) { MessageBox.Show("Поле Компания должно содержать только английские символы"); return false; } } for (int i = 0; i < title.Length; i++) { if (tit) { tit = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (title[i] >= 'A' && title[i] <= 'Z' || title[i] >= 'a' && title[i] <= 'z') { tit = true; break; } } if (tit == false) { MessageBox.Show("Поле Модель должно содержать только русские символы"); return false; } } for (int i = 0; i < type.Length; i++) { if (tip) { tip = false; } for (int j = 0; j < Alphabetrus.Count; j++) { if (Convert.ToString(type[i]).Contains(Alphabetrus[j])) { tip = true; break; } } if (tip == false) { MessageBox.Show("Поле Тип должно содержать только русские символы и цифры"); return false; } } if (zan == "Свободен" || zan == "Занят" || zan == "В тех. обслуживании") { zAn = true; return true; } else { MessageBox.Show("Поле 'занятость должно включать только одно из значений!'"); return false; } for (int i = 0; i < idadm.Length; i++) { if (idAdm) { idAdm = false; } for (int j = 0; j < Number.Count; j++) { if (Convert.ToString(idadm[i]).Contains(Number[j])) { idAdm = true; break; } } if (idAdm == false) { MessageBox.Show("Поле Номер велосипеда должно содержать только цифры"); return false; } } if (numbofbike && Comp && tit && tip && zAn && idAdm) { if (zan == "Свободен") { DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " + "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 1)"); MessageBox.Show("Велосипед добавлен"); InfoBikes SB = new InfoBikes(); SB.Show(); Close(); return true; } else if (zan == "Занят") { DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " + "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 2)"); MessageBox.Show("Велосипед добавлен"); InfoBikes SB = new InfoBikes(); SB.Show(); Close(); return true; } else if (zan == "В тех. обслуживании") { DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " + "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 3)"); MessageBox.Show("Велосипед добавлен"); InfoBikes SB = new InfoBikes(); SB.Show(); Close(); return true; } } else { MessageBox.Show("Неправильный формат"); return false; } } else { MessageBox.Show("Все строки должны быть заполнены"); return false; } } private void Registraciya(object sender, RoutedEventArgs e) { } private void Otmena(object sender, RoutedEventArgs e) { } 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; } } }