using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Common;

namespace LebedenkoHranitel.UserForms
{
    public partial class GroupRequest : Form
    {
        Database database = new Database();
        public GroupRequest()
        {
            InitializeComponent();
        }

        private void Form8_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "lEBSesDataSet.Цель". При необходимости она может быть перемещена или удалена.
            this.цельTableAdapter.Fill(this.lEBSesDataSet.Цель);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "lEBSesDataSet.Список_Сотрудников". При необходимости она может быть перемещена или удалена.
            this.список_СотрудниковTableAdapter.Fill(this.lEBSesDataSet.Список_Сотрудников);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "lEBSesDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.
            this.сотрудникиTableAdapter.Fill(this.lEBSesDataSet.Сотрудники);
            this.групповоеTableAdapter1.Fill(this.lEBSesDataSet.Групповое);
        }

        private void label20_Click(object sender, EventArgs e)
        {

        }

        private void label18_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ope = new OpenFileDialog();
            ope.Filter = "Exel Files|*.xls;*.xlsx;*.xlsm";
            if (ope.ShowDialog() == DialogResult.Cancel)
                return;
            string filename = ope.FileName;
            string excelConnectionString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={filename} ;Extended Properties=Excel 8.0";


            // Create Connection to Excel Workbook
            using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
            {
                OleDbCommand command = new OleDbCommand ("Select * FROM [Лист1$]", connection);

                                                     connection.Open();

                // Create DbDataReader to Data Worksheet
                using (DbDataReader dr = command.ExecuteReader())
                {
                    // SQL Server Connection String
                    string sqlConnectionString = "Data Source=class31000;Initial Catalog=LEBSes;Integrated Security=True";

                    // Bulk Copy to SQL Server
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
                    {
                        bulkCopy.DestinationTableName = "Групповое";
                        bulkCopy.WriteToServer(dr);
                        MessageBox.Show("Data Exoprted To Sql Server Succefully");
                    }
                }
            }
    }

        private void button3_Click(object sender, EventArgs e)
        {
            string script = "INSERT INTO групповое (Фамилия, Имя, Отчество, Номер_Телефона,E_mail,Дата_Рождения,Серия,Номер,Группа,Назначение) VALUES (@Фамилия, @Имя, @Отчество, @Номер_Телефона,@E_mail,@Дата_Рождения,@Серия,@Номер,@Группа,@Назначение)";
            string sotrscript = "INSERT INTO Сотрудники (ФИО_Клиента,Подразделение,ФИО,Срок_С,Срок_По) VALUES (@ФИО_К,@Подр,@ФИО_С,@СрокС,@СрокПо)";
            SqlCommand scmd = new SqlCommand(sotrscript, database.GetConnection());
            SqlCommand cmd = new SqlCommand(script, database.GetConnection());
            cmd.Parameters.AddWithValue("@Имя", имяTextBox.Text);
            cmd.Parameters.AddWithValue("@фамилия", фамилияTextBox.Text);
            cmd.Parameters.AddWithValue("@Отчество", отчествоTextBox.Text);
            cmd.Parameters.AddWithValue("@Дата_Рождения", дата_рожденияTextBox.Text);
            cmd.Parameters.AddWithValue("@Номер_Телефона", maskedTextBox1.Text);
            cmd.Parameters.AddWithValue("@E_mail", e_mailTextBox.Text);
            cmd.Parameters.AddWithValue("@Серия", maskedTextBox2.Text);
            cmd.Parameters.AddWithValue("@Номер", maskedTextBox3.Text);
            cmd.Parameters.AddWithValue("@Группа",группаTextBox.Text);
            cmd.Parameters.AddWithValue("@Назначение", назначениеTextBox.Text);
            scmd.Parameters.AddWithValue("@ФИО_К", фамилияTextBox.Text);
            scmd.Parameters.AddWithValue("@Подр", comboBox2.Text);
            scmd.Parameters.AddWithValue("@ФИО_С", comboBox3.Text);
            scmd.Parameters.AddWithValue("@СрокС", dateTimePicker1.Value);
            scmd.Parameters.AddWithValue("@СрокПо", dateTimePicker2.Value);
            database.openConnection();
            cmd.ExecuteNonQuery();
            scmd.ExecuteNonQuery();
            dataGridView1.Update();
            dataGridView1.Refresh();
        }

        private void label21_Click(object sender, EventArgs e)
        {

        }
    }
}
