//private void Gv_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
        //{
        //    gv.Columns[ConstColumns.ProductCode].HeaderText = "รหัสสินค้า";
        //    gv.Columns[ConstColumns.ProductName].HeaderText = "ชื่อสินค้า";
        //    gv.Columns[ConstColumns.StartDate].HeaderText = "วันที่เริ่มต้น";
        //    gv.Columns[ConstColumns.EndDate].HeaderText = "วินที่สิ้นสุด";
        //    gv.Columns[ConstColumns.UnitPrice].HeaderText = "ราคาต่อหน่วย";
        //    gv.Columns[ConstColumns.Day].HeaderText = "จำนวนวัน";
        //    gv.Columns[ConstColumns.CreateAt].HeaderText = "วันเวลาสร้าง";
        //    gv.Columns[ConstColumns.CreateBy].HeaderText = "ผู้สร้าง";
        //    gv.Columns[ConstColumns.ModifiedAt].HeaderText = "วันเวลาแก้ไข";
        //    gv.Columns[ConstColumns.ModifiedBy].HeaderText = "ผู้แก้ไข";

        //    gv.Columns[ConstColumns.UnitPrice].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

        //    gv.Columns[ConstColumns.UnitPrice].DefaultCellStyle.Format = "N2";
        //    gv.Columns[ConstColumns.Day].DefaultCellStyle.Format = "N0";

        //    gv.Columns[ConstColumns.StartDate].DefaultCellStyle.Format = "dd/MM/yyyy";
        //    gv.Columns[ConstColumns.EndDate].DefaultCellStyle.Format = "dd/MM/yyyy";
        //    gv.Columns[ConstColumns.CreateAt].DefaultCellStyle.Format = "dd/MM/yyyy HH:mm:ss";
        //    gv.Columns[ConstColumns.ModifiedAt].DefaultCellStyle.Format = "dd/MM/yyyy HH:mm:ss";
        //}
        //private void Gv_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    try
        //    {
        //        DataGridView senderGrid = (DataGridView)sender;

        //        if (senderGrid.Columns[e.ColumnIndex] is DataGridViewImageColumn && e.RowIndex >= 0)
        //        {
        //            string productCode = gv.Rows[e.RowIndex].Cells[1].Value.ToString();
        //            DateTime startDate = (DateTime)gv.Rows[e.RowIndex].Cells[3].Value;

        //            switch (senderGrid.Columns[e.ColumnIndex].Name)
        //            {

        //                case "Edit":
        //                    var frm = new Form_ProductPriceAddEdit
        //                    {
        //                        productCode = productCode,
        //                        startDate = startDate
        //                    };
        //                    if (frm.ShowDialog() == DialogResult.OK)
        //                    {
        //                        LoadProductPrice();
        //                    }
        //                    break;
        //                case "Print":
        //                    break;
        //            }

        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        //    }
        //}
        //private void BtnSearch_Click(object sender, System.EventArgs e)
        //{
        //    LoadProductPrice();
        //}
        //private void BtnAdd_Click(object sender, System.EventArgs e)
        //{
        //    var frm = new Form_ProductPriceAddEdit();
        //    if (frm.ShowDialog() == DialogResult.OK)
        //    {
        //        LoadProductPrice();
        //    }
        //}
        //private void LoadProductPrice()
        //{
        //    var coll = ProductPriceController.GetAllProductPrices(dtpStartDate.Value, cboProduct.SelectedValue.ToString());
        //    gv.DataSource = coll;
        //}
        #endregion !!!NotUse

        #region ### CustomerClass
        private void BtnAddCustomerClass_Click(object sender, System.EventArgs e)
        {
            var frm = new Form_CustomerClassPriceAddEdit();

            if (frm.ShowDialog() == DialogResult.OK)
            {
                LoadCustomerClassPrice();
            }
        }
        private void GvCustomerClass_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                DataGridView senderGrid = (DataGridView)sender;

                if (senderGrid.Columns[e.ColumnIndex] is DataGridViewImageColumn && e.RowIndex >= 0)
                {
                    int      classId     = Convert.ToInt32(gvCustomerClass.Rows[e.RowIndex].Cells[ConstColumns.ClassId].Value);
                    string   productCode = gvCustomerClass.Rows[e.RowIndex].Cells[ConstColumns.ProductCode].Value.ToString();
                    DateTime startDate   = (DateTime)gvCustomerClass.Rows[e.RowIndex].Cells[ConstColumns.StartDate].Value;

                    switch (senderGrid.Columns[e.ColumnIndex].Name)
                    {
                    case "EditCustomerClass":
                        var frm = new Form_CustomerClassPriceAddEdit
                        {
                            classId     = classId,
                            productCode = productCode,
                            startDate   = startDate
                        };
                        if (frm.ShowDialog() == DialogResult.OK)
                        {
                            LoadCustomerClassPrice();
                        }
                        break;

                    case "Print":
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }