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;
using System.Data.Linq.SqlClient;

namespace RadioLogy
{
    public partial class frmBimeDesc : Form
    {
        public frmBimeDesc()
        {
            InitializeComponent();
        }

        private void UDF_GrdFill()
        {
            LSC_RadioLogyDataContext db = new LSC_RadioLogyDataContext();
            var Query = from Row in db.tblBimehTypes
                        orderby Row.BimehTypeID descending
                        select new
                        {
                            Row.BimehTypeID,
                            Row.BimehDescription
                        };
            Grd_Bime.DataSource = Query;

        }
        private void frmBimeDesc_Load(object sender, EventArgs e)
        {
            UDF_GrdFill();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Txt_BimeDesc.Text = String.Empty;
            btnAdd.SendToBack();
            Btn_Save.BringToFront();
            MessageBox.Show("ورود شرح نوع بیمه الزامی است.");
        }

        private void Btn_Save_Click(object sender, EventArgs e)
        {
            if (Txt_BimeDesc.Text == "")
            {
                MessageBox.Show("لطفا شرح نوع بیمه را وارد کنید");
                return;
            }
            LSC_RadioLogyDataContext db = new LSC_RadioLogyDataContext();
            tblBimehType bime = new tblBimehType();
            bime.BimehDescription = Txt_BimeDesc.Text.Trim();
            db.tblBimehTypes.InsertOnSubmit(bime);
            db.SubmitChanges();

            UDF_GrdFill();
            btnAdd.BringToFront();
            Btn_Save.SendToBack();
            Txt_BimeDesc.Clear();
            MessageBox.Show("رکورد جدید درج شد");
        }

        private void Grd_Bime_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            Int32 selectedCellCount = Grd_Bime.GetCellCount(DataGridViewElementStates.Selected);
            if (selectedCellCount > 0)
            {
                if (Grd_Bime.AreAllCellsSelected(true))
                {
                    MessageBox.Show("All cells are selected", "Selected Cells");
                }
                else
                {
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    for (int i = 0; i < selectedCellCount; i++)
                    {
                        Txt_BimeID.Text = Grd_Bime.Rows[int.Parse(Grd_Bime.SelectedCells[i].RowIndex.ToString())].Cells[0].Value.ToString();
                        Txt_BimeDesc.Text = Grd_Bime.Rows[int.Parse(Grd_Bime.SelectedCells[i].RowIndex.ToString())].Cells[1].Value.ToString();
                    }
                }
            }
        }

        private void Btn_Delete_Click(object sender, EventArgs e)
        {
            if (Txt_BimeDesc.Text == "")
            {
                MessageBox.Show("انتخاب شرح نوع بیمه برای حذف الزامی است.");
                return;
            }
            DialogResult dr = MessageBox.Show("آیا نسبت به عمل حذف اطمینان دارید" , "اخطاریه حذف" , MessageBoxButtons.OKCancel ,MessageBoxIcon.Warning );
            if (dr == DialogResult.OK)
            {
                LSC_RadioLogyDataContext db = new LSC_RadioLogyDataContext();
                tblBimehType bime = db.tblBimehTypes.Single(n => n.BimehTypeID == int.Parse(Txt_BimeID.Text.Trim()));
                db.tblBimehTypes.DeleteOnSubmit(bime);
                db.SubmitChanges();
                Txt_BimeDesc.Clear();
                UDF_GrdFill();
            }
        }

        private void Btn_Edit_Click(object sender, EventArgs e)
        {
            if (Txt_BimeID.Text == "")
            {
                MessageBox.Show("انتخاب بیمه برای ویرایش الزامی است");
                return;
            }
            DialogResult dr = MessageBox.Show("آیا نسبت به عمل ویرایش اطمینان دارید؟", "اخطاریه ویرایش", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if (dr == DialogResult.OK)
            {
                LSC_RadioLogyDataContext db = new LSC_RadioLogyDataContext();
                tblBimehType bime = db.tblBimehTypes.Single(n => n.BimehTypeID == int.Parse(Txt_BimeID.Text.Trim()));
                bime.BimehDescription = Txt_BimeDesc.Text.Trim();
                db.SubmitChanges();
                Txt_BimeDesc.Clear();
                UDF_GrdFill();
            }
        }

        private void Btn_Search_Click(object sender, EventArgs e)
        {
            if (Txt_BimeDesc.Text == "")
            {
                MessageBox.Show("لطفا عنوان بیمه ویا بخشی از عنوان بیمه را وارد کنید.");
                return;
            }
            LSC_RadioLogyDataContext db = new LSC_RadioLogyDataContext();
            var Query = from Row in db.tblBimehTypes 
                        where SqlMethods.Like(Row.BimehDescription , "%" + Txt_BimeDesc.Text.Trim() + "%")
                        select new
                        {
                            Row.BimehTypeID ,
                            Row.BimehDescription 
                        };
            Grd_Bime.DataSource = Query;
            if (Query.Count() <= 0)
            {
                Txt_BimeDesc.Text = "";
                Btn_Refresh.BringToFront();
                Btn_Search.SendToBack();
                MessageBox.Show("رکوردی یافته نشد");
            }
        }

        private void Btn_Refresh_Click(object sender, EventArgs e)
        {
            UDF_GrdFill();
            Btn_Search.BringToFront();
            Btn_Refresh.SendToBack();
        }
    }
}