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

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

        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 toolStripButton1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "" | textBox2.Text == "" | textBox5.Text == "")
                {
                    MessageBox.Show("لطفا فیلد های ستاره دار را تکمیل کنید.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    
                    cmd.CommandText = "insert into car (carcode , carname , carmodel , carrang , carsaheb , carranande , carpelak , istarhterafik ) values('" + Convert.ToInt32(textBox1.Text) + "',N'" + textBox2.Text + "',N'" + (textBox3.Text) + "',N'" + textBox4.Text + "',N'" + textBox5.Text + "',N'" + textBox7.Text + "',N'" + textBox11.Text  + "' ,'" + textBox10.Text +"')";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("اطلاعات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textBox1.Text = "";
                    textBox2.Text = "";
                    textBox3.Text = "";
                    textBox4.Text = "";
                    textBox5.Text = "";
                    textBox7.Text = "";
                    textBox11.Text = "";
                    textBox10.Text = "";
                   textBox1.Select();
                }
           }
            catch
           {
                MessageBox.Show("کد خودروی وارد شده قبلا ثبت شده است", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Error);
               textBox4.Select();
            }
        }

        private void car_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 car";
                cmd.ExecuteNonQuery();
                da.SelectCommand = cmd;
                da.Fill(ds, "car");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "car";
            //**************************************

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

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Text == "دارای طرح ترافیک")
            {
                textBox10.Text = "True";
            }
            else
            {
                textBox10.Text = "False";
            }
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            if (textBox8.Text == "" & textBox6.Text == "" | textBox8.Text != "" & textBox6.Text != "")
            {

                ds.Clear();
                cmd.CommandText = "select * from car";
                cmd.ExecuteNonQuery();
                da.SelectCommand = cmd;
                da.Fill(ds, "car");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "car";
                dataGridView1.Columns["carname"].HeaderText = "نام ماشین";
                dataGridView1.Columns["carcode"].HeaderText = "کد خودرو";
                dataGridView1.Columns["carsaheb"].HeaderText = "صاحب خودرو";
                dataGridView1.Columns["carranande"].HeaderText = "راننده خودرو";
                dataGridView1.Columns["carrang"].HeaderText = "رنگ خودرو";
                dataGridView1.Columns["carpelak"].HeaderText = "پلاک خودرو";
                dataGridView1.Columns["istarhterafik"].HeaderText = "دارای طرح ترافیک";
                dataGridView1.Columns["isfree"].HeaderText = "در حال سرویس";
                dataGridView1.Columns["carmodel"].HeaderText = "مدل خودرو";

            }

            else
            {
                if (textBox8.Text == "")
                {
                    ds.Clear();
                    cmd.CommandText = "select * from car where carsaheb like N'%" + textBox6.Text + "%'";
                    cmd.ExecuteNonQuery();
                    da.SelectCommand = cmd;
                    da.Fill(ds, "car");
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = "car";
                    dataGridView1.Columns["carname"].HeaderText = "نام ماشین";
                    dataGridView1.Columns["carcode"].HeaderText = "کد خودرو";
                    dataGridView1.Columns["carsaheb"].HeaderText = "صاحب خودرو";
                    dataGridView1.Columns["carranande"].HeaderText = "راننده خودرو";
                    dataGridView1.Columns["carrang"].HeaderText = "رنگ خودرو";
                    dataGridView1.Columns["carpelak"].HeaderText = "پلاک خودرو";
                    dataGridView1.Columns["istarhterafik"].HeaderText = "دارای طرح ترافیک";
                    dataGridView1.Columns["isfree"].HeaderText = "در حال سرویس";
                    dataGridView1.Columns["carmodel"].HeaderText = "مدل خودرو";
                }
                else
                {
                    ds.Clear();
                    cmd.CommandText = "select * from car where carranande like N'%" + textBox8.Text + "%'";
                    cmd.ExecuteNonQuery();
                    da.SelectCommand = cmd;
                    da.Fill(ds, "car");
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = "car";
                    dataGridView1.Columns["carname"].HeaderText = "نام ماشین";
                    dataGridView1.Columns["carcode"].HeaderText = "کد خودرو";
                    dataGridView1.Columns["carsaheb"].HeaderText = "صاحب خودرو";
                    dataGridView1.Columns["carranande"].HeaderText = "راننده خودرو";
                    dataGridView1.Columns["carrang"].HeaderText = "رنگ خودرو";
                    dataGridView1.Columns["carpelak"].HeaderText = "پلاک خودرو";
                    dataGridView1.Columns["istarhterafik"].HeaderText = "دارای طرح ترافیک";
                    dataGridView1.Columns["isfree"].HeaderText = "در حال سرویس";
                    dataGridView1.Columns["carmodel"].HeaderText = "مدل خودرو";

                }

            }
        }

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

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

        private void textBox6_Click(object sender, EventArgs e)
        {

        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            if (dataGridView1.RowCount > 2)
            {
                MessageBox.Show("شما در این قسمت فقط میتوانید یکی از رکورد ها را انتخاب کنید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            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 car where carranande like N'%" + textBox8.Text + "%'";

                            cmd.ExecuteNonQuery();


                            MessageBox.Show("حذف اطلاعات مشترک با موفقیت انجام شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            textBox1.Text = "";
                            textBox2.Text = "";
                            textBox3.Text = "";
                            textBox4.Text = "";
                            textBox5.Text = "";
                            textBox7.Text = "";
                            textBox11.Text = "";
                            textBox10.Text = "";
                            ds.Reset();
                        }
                        else
                        {
                            cmd.CommandText = "delete from car where carsaheb like N'%" + textBox6.Text + "%'";

                            cmd.ExecuteNonQuery();
                            MessageBox.Show("حذف اطلاعات خودرو با موفقیت انجام شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            textBox1.Text = "";
                            textBox2.Text = "";
                            textBox3.Text = "";
                            textBox4.Text = "";
                            textBox5.Text = "";
                            textBox7.Text = "";
                            textBox11.Text = "";
                            textBox10.Text = "";
                            ds.Reset();
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("مشکل در برقراری اتصال با پایگاه داده", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.RowCount > 2)
            {
                MessageBox.Show("حداکثر یک رکورد قابل ویرایش و حذف است", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                textBox1.Text = ds.Tables["car"].Rows[e.RowIndex]["carcode"].ToString();
                textBox2.Text = ds.Tables["car"].Rows[e.RowIndex]["carname"].ToString();
                textBox3.Text = ds.Tables["car"].Rows[e.RowIndex]["carmodel"].ToString();
                textBox4.Text = ds.Tables["car"].Rows[e.RowIndex]["carrang"].ToString();
                textBox5.Text = ds.Tables["car"].Rows[e.RowIndex]["carsaheb"].ToString();
                textBox7.Text = ds.Tables["car"].Rows[e.RowIndex]["carranande"].ToString();
                textBox11.Text = ds.Tables["car"].Rows[e.RowIndex]["carpelak"].ToString();
                comboBox1.Text = ds.Tables["car"].Rows[e.RowIndex]["istarhterafik"].ToString();
            }

        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
        
        }

        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            if (dataGridView1.RowCount > 2)
            {
                MessageBox.Show("شما در این قسمت فقط میتوانید یکی از رکورد ها را انتخاب کنید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            try
            {
                if (textBox8.Text == "")
                {
                    cmd.CommandText = "update car set carcode= N'" + textBox1.Text + " ',carname=N'" + textBox2.Text + " ',carmodel=" + textBox3.Text + ",carrang = N'" + textBox4.Text +"', carsaheb = N'"+textBox5.Text +"',carranande = N'"+textBox7.Text +"',carpelak = N'"+textBox11.Text +"',istarhterafik = N'"+comboBox1.Text +"'"+" where carsaheb like N'%" + textBox6.Text + "%'";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("تغییرات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    cmd.CommandText = "update car set carcode= N'" + textBox1.Text + " ',carname=N'" + textBox2.Text + " ',carmodel=" + textBox3.Text + ",carrang = N'" + textBox4.Text + "', carsaheb = N'" + textBox5.Text + "',carranande = N'" + textBox7.Text + "',carpelak = N'" + textBox11.Text + "',istarhterafik = N'" + comboBox1.Text + "'" + " where carranande like N'%" + textBox8.Text + "%'";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("تغییرات با موفقیت ذخیره شد", "نتیجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch
            {
                MessageBox.Show("اشکال در  ذخیره سازی اطلاعات در پایگاه داده", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox2.Select();
            
        }

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox3.Select();
        }

        private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox4.Select();
        }

        private void textBox4_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox5.Select();
        }

        private void textBox5_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox7.Select();
        }

        private void textBox7_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                textBox11.Select();
        }

        private void textBox11_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                comboBox1.Select();
        }

        private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Keys.Enter == Keys.Enter)
                toolStripButton1.Select();
        }
    }
}
