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 KursachMukha692gr
{
///
/// Логика взаимодействия для AddTrener.xaml
///
public partial class AddTrener : Window
{
List Alphabetrus = new List {
"А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й",
"К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф",
"Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я" };
List Date = new List {
"0","1","2","3","4","5","6","7","8","9","."};
public AddTrener()
{
InitializeComponent();
}
public DataTable Select(string selectSQL)
{
DataTable dataTable = new DataTable("dataBase");
SqlConnection sqlConnection = new SqlConnection("server=mssql; Trusted_Connection=YES;DataBase=gr692_mkm;");
sqlConnection.Open();
SqlCommand sqlCommand = sqlConnection.CreateCommand();
sqlCommand.CommandText = selectSQL;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand);
sqlDataAdapter.Fill(dataTable);
sqlConnection.Close();
return dataTable;
}
public DataTable Select1(string selectSQL)
{
DataTable dataTable = new DataTable("dataBase");
SqlConnection sqlConnection = new SqlConnection("server=mssql; Trusted_Connection=YES;DataBase=gr692_mkm;");
sqlConnection.Open();
SqlCommand sqlCommand = sqlConnection.CreateCommand();
sqlCommand.CommandText = selectSQL;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand);
sqlDataAdapter.Fill(dataTable);
sqlConnection.Close();
return dataTable;
}
private void Button_Click_Add(object sender, RoutedEventArgs e)
{
if (familiyaTrener.Text != "" && imyaTrener.Text != "" && otchTrener.Text != "" && dataTrener.Text != "" && numberTrener.Text != "" && sportspec.Text != "" && pol_id.Text != "" && categoryTrener.Text!="")
{
bool fam = false, imya = false, otch = false, data = false, num = false;
bool sport = false, pol = false,cat = false;
for (int i = 0; i < familiyaTrener.Text.Length; i++)//проверка фамилии
{
if (fam)
{
fam = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(familiyaTrener.Text[i]).Contains(Alphabetrus[j]))
{
fam = true;
break;
}
}
if (fam == false)
{
MessageBox.Show("Поле фамилия должно содержать только русские символы");
break;
}
}
for (int i = 0; i < imyaTrener.Text.Length; i++)//проверка имени
{
if (imya)
{
imya = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(imyaTrener.Text[i]).Contains(Alphabetrus[j]))
{
imya = true;
break;
}
}
if (imya == false)
{
MessageBox.Show("Поле имя должно содержать только русские символы");
break;
}
}
for (int i = 0; i < otchTrener.Text.Length; i++)//проверка отчества
{
if (otch)
{
otch = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(otchTrener.Text[i]).Contains(Alphabetrus[j]))
{
otch = true;
break;
}
}
if (otch == false)
{
MessageBox.Show("Поле отчество должно содержать только русские символы");
break;
}
}
for (int i = 0; i < dataTrener.Text.Length; i++)//проверка даты рождения
{
if (data)
{
data = false;
}
for (int j = 0; j < Date.Count; j++)
{
if (Convert.ToString(dataTrener.Text[i]).Contains(Date[j]))
{
data = true;
break;
}
}
if (data == false)
{
MessageBox.Show("Поле дата рождения должно содержать только цифры и знак '.''");
break;
}
}
for (int i = 0; i < numberTrener.Text.Length; i++)//проверка номера телефона
{
if (num)
{
num = false;
}
if (numberTrener.Text[i] >= '0' && numberTrener.Text[i] <= '9' && numberTrener.Text.Length == 11)
{
num = true;
break;
}
if (num == false)
{
MessageBox.Show("Поле номер телефона должно содержать только цифры (без знака + и 11 цифр)");
break;
}
}
DataTable sel = Select("select * from [dbo].[disciplina] where id = " + sportspec.Text);
for (int i = 0; i < sportspec.Text.Length; i++)
{
if (sport)
{
sport = false;
}
if (sportspec.Text[i] >='1' && sportspec.Text[i]<= '7' && sportspec.Text.Length == 1)
{
if (sel.Rows.Count > 0)
{
sport = true;
}
else
{
sport = false;
}
}
if (sport == false)
{
MessageBox.Show("Поле спортивная специальность должно содержать код специальности (1-хоккей,2-Мини-футбол,3-Волейбол,4-Футбол,5-Баскетбол,6-Плавание,7-Бокс)");
break;
}
}
DataTable sel1 = Select1("select * from [dbo].[pol] where id = " + pol_id.Text);
for (int i = 0; i < pol_id.Text.Length; i++)
{
if (pol)
{
pol = false;
}
if (pol_id.Text[i] == '1' || pol_id.Text[i] == '2' && pol_id.Text.Length == 1)
{
if (sel1.Rows.Count > 0)
{
pol = true;
}
else
{
pol = false;
}
}
if (pol == false)
{
MessageBox.Show("Поле пол должно содержать только цифры 1 (мужской) и 2 (женский)");
break;
}
}
for (int i = 0; i < categoryTrener.Text.Length; i++)
{
if (cat)
{
cat = false;
}
if (categoryTrener.Text[i] >= '1' && categoryTrener.Text[i] <= '9' || categoryTrener.Text[i] >= 'A' && categoryTrener.Text[i] <= 'Z')
{
cat = true;
break;
}
if (cat == false)
{
MessageBox.Show("Поле тренерская категория должно содержать только английские (заглавные) буквы и цифры");
break;
}
}
if (fam && imya && otch && data && num && sport && pol && cat)
{
DataTable dt_infotrener = Insert("insert into [dbo].[infotrener] values " +
"('" + familiyaTrener.Text + "','" + imyaTrener.Text + "','" + otchTrener.Text +
"','" + dataTrener.Text + "','" + numberTrener.Text + "','" + sportspec.Text +
"','" + categoryTrener.Text + "','" + pol_id.Text + "')");
MessageBox.Show("Тренер добавлен");
SpisokTrenerov mainreg = new SpisokTrenerov();
mainreg.Show();
Close();
}
else { MessageBox.Show("Неправильный формат"); }
}
else { MessageBox.Show("Все строки должны быть заполнены"); }
}
public DataTable Insert(string selectSQL)
{
DataTable dataTable = new DataTable("dataBase");
SqlConnection sqlConnection = new SqlConnection("server=mssql; Trusted_Connection=YES;DataBase=gr692_mkm;");
sqlConnection.Open();
SqlCommand sqlCommand = sqlConnection.CreateCommand();
sqlCommand.CommandText = selectSQL;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand);
sqlDataAdapter.Fill(dataTable);
sqlConnection.Close();
return dataTable;
}
private void Button_Click_Back(object sender, RoutedEventArgs e)
{
SpisokTrenerov trenerov = new SpisokTrenerov();
trenerov.Show();
Close();
}
}
}