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
{
    /// <summary>
    /// Логика взаимодействия для AddRaspisaniye.xaml
    /// </summary>
    public partial class AddRaspisaniye : Window
    {
        public AddRaspisaniye()
        {
            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 (den_id.Text != "" && vremya_id.Text != "" && gruppa.Text != "" && disciplina.Text != "" && zal.Text != "" && trener_id.Text !="" && corpus.Text !="")
            {
                bool den = false, time = false, dis = false, gr = false, trener = false,z = false, cor = false;
                for (int i = 0; i < den_id.Text.Length; i++)
                {
                    if (den)
                    {
                        den = false;
                    }
                    if (den_id.Text[i] >= '1' && den_id.Text[i] <= '7' && den_id.Text.Length == 1)
                    {
                        den = true;
                        break;
                    }
                    if (den == false)
                    {
                        MessageBox.Show("Поле день недели должно содержать код дня недели (1-понедельник , 2-вторник, 3-среда,4-четверг,5-пятница,6-суббота,7-воскресенье)");
                        break;
                    }
                }
                for (int i = 0; i < vremya_id.Text.Length; i++)
                {
                    if (time)
                    {
                        time = false;
                    }
                    if (vremya_id.Text[i] >= '1' && vremya_id.Text[i] <= '7')
                    {
                        time = true;
                        break;
                    }
                    if (time == false)
                    {
                        MessageBox.Show("Поле время занятия должно содержать код времени занятия (1-(06:00-08:00) , 2-(08:30-10:30), 3-(11:00-13:00), 4-(13:30-15:30), 5-(16:00-18:00), 6-(18:30-20:30), 7-(21:00-23:00))");
                        break;
                    }
                }
                DataTable sel = Select("select * from [dbo].[gruppa] where id = " + gruppa.Text);
                for (int i = 0; i < gruppa.Text.Length; i++)
                {
                    if (gr)
                    {
                        gr = false;
                    }
                    if (gruppa.Text[i] >= '0' && gruppa.Text[i] <= '9' && gruppa.Text.Length == 3)
                    {
                        if (sel.Rows.Count > 0)
                        {
                            gr = true;
                        }
                        else
                        {
                            gr = false;
                        }
                    }
                    if (gr == false)
                    {
                        MessageBox.Show("Поле группа должно содержать цифры (3 цифры) или номер группы, который вы ввели , отсутствует");
                        break;
                    }
                }
                for (int i = 0; i < disciplina.Text.Length; i++)
                {
                    if (dis)
                    {
                        dis = false;
                    }
                    if (disciplina.Text[i] >= '1' && disciplina.Text[i] <= '7' && disciplina.Text.Length == 1)
                    {
                        dis = true;
                        break;
                    }
                    if (dis == false)
                    {
                        MessageBox.Show("Поле дисциплина должно содержать код дисциплины (1-хоккей,2-Мини-футбол,3-Волейбол,4-Футбол,5-Баскетбол,6-Плавание,7-Бокс)");
                        break;
                    }
                }
                for (int i = 0; i < zal.Text.Length; i++)
                {
                    if (z)
                    {
                        z = false;
                    }
                    if (zal.Text[i] >= '1' && zal.Text[i] <= '7' && disciplina.Text.Length == 1)
                    {
                        z = true;
                        break;
                    }
                    if (z == false)
                    {
                        MessageBox.Show("Поле зал занятия должно содержать код зала (1-хоккейная площадка,2-Зал волейбола,3-Футбольное поле,4-Зал баскетбола,5-Бассейн,6-Зал мини-футбола,7-Зал бокса)");
                        break;
                    }
                }
                DataTable sel1 = Select1("select * from [dbo].[infotrener] where id = " + trener_id.Text);
                for (int i = 0; i < trener_id.Text.Length; i++)
                {
                    if (trener)
                    {
                        trener = false;
                    }
                    if (trener_id.Text[i] >= '0' && trener_id.Text[i] <= '9')
                    {
                        if (sel1.Rows.Count > 0)
                        {
                            trener = true;
                        }
                        else
                        {
                            trener = false;
                        }
                    }
                    if (trener == false)
                    {
                        MessageBox.Show("Поле тренер должно содержать код тренера или вы ввели код, которого нет");
                        break;
                    }
                }
                for (int i = 0; i < corpus.Text.Length; i++)
                {
                    if (cor)
                    {
                        cor = false;
                    }
                    if (corpus.Text[i] >= '1' && corpus.Text[i] <= '3' && corpus.Text.Length == 1)
                    {
                        cor = true;
                        break;
                    }
                    if (cor == false)
                    {
                        MessageBox.Show("Поле корпус должно содержать код корпуса (1-Ледовая арена,2-СОК Кристалл ,3-Футбольный стадион Олимп)");
                        break;
                    }
                }
                if (den && time && dis && gr && trener && z && cor)
                {
                    DataTable dt_raspisaniye = Insert("insert into [dbo].[raspisaniye] values " +
                                                            "('" + den_id.Text + "','" + vremya_id.Text + "','" + gruppa.Text +
                                                              "','" + disciplina.Text + "','" + zal.Text + "','" + trener_id.Text + "','" + corpus.Text + "')");
                    MessageBox.Show("Занятие добавлено");
                    Raspisaniye mainreg = new Raspisaniye();
                    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)
        {
            Raspisaniye raspisaniye = new Raspisaniye();
            raspisaniye.Show();
            Close();
        }
    }
}
