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;
}
}
}