using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace AjanseProject
{
    public partial class frmsabtepersonel : Form
    {
        SqlConnection con = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        SqlDataAdapter da = new SqlDataAdapter();
        DataSet ds = new DataSet();
        public frmsabtepersonel()
        {
            InitializeComponent();
        }

        private void frmsabtepersonel_Load(object sender, EventArgs e)
        {
            con.ConnectionString = "Data Source=" + Environment.MachineName + ";Initial Catalog=ajans;Integrated Security=True";
            con.Open();
            cmd.Connection = con;
            //*********************************
            ds.Clear();
            cmd.CommandText = "select * from personel";
            cmd.ExecuteNonQuery();
            da.SelectCommand = cmd;
            da.Fill(ds, "personel");
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "personel";
            //**************************************

            MessageBox.Show("تعداد کد ثبت شده : " + Convert.ToString(dataGridView1.RowCount - 1), "تعداد رکورد های ثبت شده", MessageBoxButtons.OK, MessageBoxIcon.Information);
            
            textBox1.Select();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "" | textBox2.Text == "" | textBox4.Text == "")
                {
                    MessageBox.Show("لطفا فیلد های ستاره دار را تکمیل کنید.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {

                    cmd.CommandText = "insert into personel (pname,pfamily,pcode,ptelhome,pmobile,paddress,semat) values(N'" + textBox1.Text + "',N'" + textBox2.Text + "'," + Convert.ToInt32(textBox4.Text) + ",N'" + maskedTextBox1.Text + "',N'" + maskedTextBox2.Text + "',N'" + textBox7.Text + "',N'" + textBox3.Text  + "')";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("اطلاعات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textBox1.Text = "";
                    textBox2.Text = "";
                    textBox4.Text = "";
                    textBox7.Text = "";
                    textBox1.Text = "";
                    maskedTextBox1.Text = "";
                    maskedTextBox2.Text = "";
                    textBox3.Text = "";
                    textBox1.Select();
                }
            }
            catch
            {
                MessageBox.Show("کد پرسنلی وارد شده قبلا قبت شده است", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBox4.Select();
            }
        }

        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox8.Text == "")
                {
                    cmd.CommandText = "update personel set pname= N'" + textBox1.Text + " ',pfamily=N'" + textBox2.Text + " ',pcode=" + Convert.ToInt32(textBox4.Text) + ",ptelhome = N'" + maskedTextBox1.Text + "',pmobile= N'" + maskedTextBox2.Text + "',paddress= N'" + textBox7.Text + "', semat =N'" + textBox3.Text    + "'  where pcode=" + Convert.ToInt32(textBox6.Text);
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("تغییرات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    cmd.CommandText = "update personel set pname= N'" + textBox1.Text + " ',pfamily=N'" + textBox2.Text + " ',pcode=" + Convert.ToInt32(textBox4.Text) + ",ptelhome = N'" + maskedTextBox1.Text + "',pmobile= N'" + maskedTextBox2.Text + "',paddress= N'" + textBox7.Text + "', semat =N'" + textBox3.Text +     "',  where pfamily like '%" + textBox8.Text + "%'";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("تغییرات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch
            {
               MessageBox.Show("اشکال در  ذخیره سازی اطلاعات در پایگاه داده", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox6.Text == "" & textBox8.Text == "" | textBox8.Text != "" & textBox6.Text != "")
                {
                    MessageBox.Show("لطفا حداقل یکی از فیلدهای مورد نیاز برای حذف کردن پرسنل را وارد نمائید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    textBox8.Select();
                }
                else
                {
                    DialogResult dr;
                    dr = MessageBox.Show("آیا اطلاعات پرسنل را حذف می کنید؟", "هشدار", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    
                    if (dr == DialogResult.OK)
                    {
                        if (textBox8.Text == "")
                        {
                            cmd.CommandText = "delete from personel where pcode =" + Convert.ToInt32(textBox6.Text);
                            cmd.ExecuteNonQuery();
                            

                            MessageBox.Show("حذف اطلاعات پرسنل با موفقیت انجام شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ds.Reset();
                            textBox1.Text = "";
                            textBox2.Text = "";
                            textBox4.Text = "";
                            textBox7.Text = "";
                            textBox1.Text = "";
                            maskedTextBox1.Text = "";
                            maskedTextBox2.Text = "";
                            textBox3.Text = "";
                        }
                        else
                        {
                            cmd.CommandText = "delete from personel where pfamily like N'%" + textBox8.Text + "%'";
                            cmd.ExecuteNonQuery();
                            MessageBox.Show("حذف اطلاعات پرسنل با موفقیت انجام شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ds.Reset();
                            textBox1.Text = "";
                            textBox2.Text = "";
                            textBox4.Text = "";
                            textBox7.Text = "";
                            textBox1.Text = "";
                            maskedTextBox1.Text = "";
                            maskedTextBox2.Text = "";
                            textBox3.Text = "";
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("مشکل در برقراری اتصال با پایگاه داده", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            if (textBox8.Text == "" & textBox6.Text == "" | textBox8.Text != "" & textBox6.Text != "")
            {
                ds.Clear();
                cmd.CommandText = "select * from personel";
                cmd.ExecuteNonQuery();
                da.SelectCommand = cmd;
                da.Fill(ds, "personel");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "personel";
                dataGridView1.Columns["pname"].HeaderText = "نام ";
                dataGridView1.Columns["pfamily"].HeaderText = "نام خانوادگی";
                dataGridView1.Columns["pcode"].HeaderText = "کد پرسنلی";
                dataGridView1.Columns["ptelhome"].HeaderText = "تلفن منزل";
                dataGridView1.Columns["pmobile"].HeaderText = "موبایل";
                dataGridView1.Columns["paddress"].HeaderText = "آدرس";
                dataGridView1.Columns["semat"].HeaderText = "سمت";
            //    textBox8.Text = "نام خانوادگی";
              //  textBox6.Text = "کد پرسنلی";
            }
            else
            {
                if (textBox8.Text == "")
                {
                    ds.Clear();
                    cmd.CommandText = "select * from personel where pcode =" + Convert.ToInt32(textBox6.Text);
                    cmd.ExecuteNonQuery();
                    da.SelectCommand = cmd;
                    da.Fill(ds, "personel");
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = "personel";
                    dataGridView1.Columns["pname"].HeaderText = "نام ";
                    dataGridView1.Columns["pfamily"].HeaderText = "نام خانوادگی";
                    dataGridView1.Columns["pcode"].HeaderText = "کد پرسنلی";
                    dataGridView1.Columns["ptelhome"].HeaderText = "تلفن منزل";
                    dataGridView1.Columns["pmobile"].HeaderText = "موبایل";
                    dataGridView1.Columns["paddress"].HeaderText = "آدرس";
                    dataGridView1.Columns["semat"].HeaderText = "سمت";
                //    textBox8.Text = "نام خانوادگی";
                  //  textBox6.Text = "کد پرسنلی";
                }
                else
                {
                    ds.Clear();
                    cmd.CommandText = "select * from personel where pfamily like N'%" + textBox8.Text + "%'";
                    cmd.ExecuteNonQuery();
                    da.SelectCommand = cmd;
                    da.Fill(ds, "personel");
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = "personel";
                    dataGridView1.Columns["pname"].HeaderText = "نام ";
                    dataGridView1.Columns["pfamily"].HeaderText = "نام خانوادگی";
                    dataGridView1.Columns["pcode"].HeaderText = "کد پرسنلی";
                    dataGridView1.Columns["ptelhome"].HeaderText = "تلفن منزل";
                    dataGridView1.Columns["pmobile"].HeaderText = "موبایل";
                    dataGridView1.Columns["paddress"].HeaderText = "آدرس";
                    dataGridView1.Columns["semat"].HeaderText = "سمت";
                    //textBox8.Text = "نام خانوادگی";
                    //textBox6.Text = "کد پرسنلی";
                }
            }
        }
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            

        }

        private void toolStripButton5_Click(object sender, EventArgs e)
        {
            DialogResult dr;
            dr = MessageBox.Show("آیا مایل به خروج از قسمت کارکنان هستید ؟", "خروج", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (dr == DialogResult.OK)
            {

                this.Close();
            }

        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                textBox1.Text = ds.Tables["personel"].Rows[e.RowIndex]["pname"].ToString();
                textBox2.Text = ds.Tables["personel"].Rows[e.RowIndex]["pfamily"].ToString();
                textBox4.Text = ds.Tables["personel"].Rows[e.RowIndex]["pcode"].ToString();
                textBox7.Text = ds.Tables["personel"].Rows[e.RowIndex]["paddress"].ToString();
                maskedTextBox2.Text = ds.Tables["personel"].Rows[e.RowIndex]["pmobile"].ToString();
                maskedTextBox1.Text = ds.Tables["personel"].Rows[e.RowIndex]["ptelhome"].ToString();
                textBox3.Text = ds.Tables["personel"].Rows[e.RowIndex]["semat"].ToString();
            }
            catch
            {
                MessageBox.Show("هیچ رکوردی برای نمایش وجود ندارد", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void textBox6_DoubleClick(object sender, EventArgs e)
        {
            textBox6.Text = "";
            textBox8.Text = "";
            textBox6.Select();
        }

        private void textBox8_DoubleClick(object sender, EventArgs e)
        {
            textBox8.Text = "";
            textBox8.Select();
            textBox6.Text = "";
        }

        private void textBox6_Click(object sender, EventArgs e)
        {

        }

        private void textBox6_Leave(object sender, EventArgs e)
        {
           
        }

        private void textBox8_Leave(object sender, EventArgs e)
        {
           
        }
    }
}
