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

namespace Library
{
    public partial class FormCategory : Form
    {
        DataAccess da = new DataAccess();
        public FormCategory()
        {
            InitializeComponent();
        }

        private void FormCategory_Load(object sender, EventArgs e)
        {
            dataGridView1.AutoGenerateColumns = false;
            da.Connect();
            DataTable dt = new DataTable();
            dt = da.Select("select * from category");
            lblcount.Text = dt.Rows.Count.ToString();
            dataGridView1.DataSource = dt;
            da.DisConnect();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            FormMain fe = new FormMain();
            this.Hide();
            fe.Show();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            FormCategory_Load(null,null);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (dataGridView1.RowCount > 1)
            {
                DialogResult dr = MessageBox.Show("آیا مطمئن به حذف رکورد جاری می باشید ؟", "پیام هشدار", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dr == DialogResult.Yes)
                {
                    string index = dataGridView1.CurrentRow.Cells["id"].Value.ToString();
                    da.Connect();
                    string sql = "delete from category where catid={0}";
                    sql = string.Format(sql, index);
                    da.DoCommand(sql);
                    da.DisConnect();
                    FormCategory_Load(null, null);
                }
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            da.Connect();
            DataTable dt = new DataTable();
            string sql = "";
            switch (comboBox1.Text)
            {
                case "شماره گروه":
                    sql = "select * from category where catid={0}";
                    sql = string.Format(sql,txtsearch.Text);
                    dt = da.Select(sql);
                    if (dt.Rows.Count == 0)
                    {
                        MessageBox.Show("چنین شماره ای وجود ندارد لطفا دوباره جستجو نمائید","پیام خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
                        da.DisConnect();
                        return;
                    }
                    dataGridView1.DataSource = dt;
                    break;
                case "نام گروه":
                    sql = "select * from category where catname=N'{0}'";
                    sql = string.Format(sql, txtsearch.Text);
                    dt = da.Select(sql);                    
                    if (dt.Rows.Count == 0)
                    {
                        MessageBox.Show("چنین نامی وجود ندارد لطفا دوباره جستجو نمائید", "پیام خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        da.DisConnect();
                        return;
                    }                    
                    dataGridView1.DataSource = dt;
                    break;
            }
            da.DisConnect();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FormCategory_Add fe = new FormCategory_Add();
            fe.ShowDialog();
            FormCategory_Load(null,null);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string index = dataGridView1.CurrentRow.Cells["id"].Value.ToString();
            da.Connect();
            string sql = "select * from category where catid={0}";
            sql = string.Format(sql,index);
            DataTable dt = new DataTable();
            dt = da.Select(sql);
            da.DisConnect();
            FormCategory_Edit fe = new FormCategory_Edit();
            fe.txtid.Text = dt.Rows[0]["catid"].ToString();
            fe.txtname.Text = dt.Rows[0]["catname"].ToString();
            fe.ShowDialog();
            FormCategory_Load(null, null);
        }
    }
}
