protected void ctlSelect_Click(object sender, ImageClickEventArgs e)
        {
            if (this.IsMultiSelect == true)
            {
                IList <DBProvinceLovReturn> dbProvinceList = new List <DBProvinceLovReturn>();

                foreach (GridViewRow row in ctlGridProvince.Rows)
                {
                    if ((row.RowType == DataControlRowType.DataRow) && ((CheckBox)row.FindControl("ctlSelect")).Checked)
                    {
                        short      provinceId = UIHelper.ParseShort(ctlGridProvince.DataKeys[row.RowIndex].Value.ToString());
                        DbProvince province   = DbProvinceService.FindByIdentity(provinceId);

                        Label ctlProvinceNameInGrid = ctlGridProvince.Rows[row.RowIndex].FindControl("ctlLblProvinceName") as Label;
                        Label ctlRegionNameInGrid   = ctlGridProvince.Rows[row.RowIndex].FindControl("ctlLblRegionName") as Label;

                        DBProvinceLovReturn lovReturn = new DBProvinceLovReturn();
                        lovReturn.ProvinceID   = province.Provinceid;
                        lovReturn.RegionID     = province.Region.Regionid;
                        lovReturn.ProvinceName = ctlProvinceNameInGrid.Text;
                        lovReturn.RegionName   = ctlRegionNameInGrid.Text;

                        dbProvinceList.Add(lovReturn);
                    }
                }

                CallOnObjectLookUpReturn(dbProvinceList);
                Hide();
            }
        }
        protected void ctlProvinceFormView_ItemUpdating(object sender, FormViewUpdateEventArgs e)
        {
            short      provinceId = UIHelper.ParseShort(ctlProvinceFormView.DataKey.Value.ToString());
            DbProvince dbProvince = DbProvinceService.FindByIdentity(provinceId);

            TextBox      ctlTxtProvinceName = ctlProvinceFormView.FindControl("ctlTxtProvinceName") as TextBox;
            DropDownList ctlCmbRegionId     = ctlProvinceFormView.FindControl("ctlCmbRegionId") as DropDownList;
            TextBox      ctlTxtComment      = ctlProvinceFormView.FindControl("ctlTxtComment") as TextBox;
            CheckBox     chkActive          = ctlProvinceFormView.FindControl("chkActive") as CheckBox;


            //Master
            dbProvince.Region  = DbRegionService.FindByIdentity(UIHelper.ParseShort(ctlCmbRegionId.SelectedValue));
            dbProvince.Comment = ctlTxtComment.Text;
            dbProvince.Active  = chkActive.Checked;

            dbProvince.UpdPgm  = ProgramCode;
            dbProvince.UpdDate = DateTime.Now.Date;
            dbProvince.UpdBy   = UserAccount.UserID;

            try
            {
                DbProvinceService.Save(dbProvince);
                e.Cancel = true;
                ctlGridProvince.DataCountAndBind();
                ctlProvinceModalPopupExtender.Hide();
                UpdatePanelGridView.Update();
            }
            catch (ServiceValidationException ex)
            {
                ValidationErrors.MergeErrors(ex.ValidationErrors);
            }
        }
        protected void ctlGridProvince_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ProvinceEdit")
            {
                int   rowIndex   = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex;
                short ProvinceId = UIHelper.ParseShort(ctlGridProvince.DataKeys[rowIndex].Value.ToString());

                ctlGridProvince.EditIndex = rowIndex;

                IList <DbProvince> provinceList = new List <DbProvince>();
                DbProvince         province     = DbProvinceService.FindByIdentity(ProvinceId);

                provinceList.Add(province);

                ctlProvinceFormView.DataSource = provinceList;
                ctlProvinceFormView.PageIndex  = 0;

                ctlProvinceFormView.ChangeMode(FormViewMode.Edit);
                ctlProvinceFormView.DataBind();

                UpdatePanelProvinceForm.Update();
                ctlProvinceModalPopupExtender.Show();
                ProvinceLangGridViewFinish();
            }
            else if (e.CommandName == "Select")
            {
                int   rowIndex   = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
                short provinceId = UIHelper.ParseShort(ctlGridProvince.DataKeys[rowIndex].Value.ToString());

                ctlProvinceLangGrid.DataSource = SsDbQueryProvider.DbProvinceLangQuery.FindByProvinceId(provinceId);
                ctlProvinceLangGrid.DataBind();

                if (ctlProvinceLangGrid.Rows.Count > 0)
                {
                    ctlSubmit.Visible = true;
                    ctlCancel.Visible = true;
                    ctlProvinceLangLangFds.Visible = true;
                }
                else
                {
                    ctlSubmit.Visible = false;
                    ctlCancel.Visible = false;
                    ctlProvinceLangLangFds.Visible = false;
                }
                ctlProvinceLangUpdatePanel.Update();
            }
        }
        protected void ctlProvinceFormView_DataBound(object sender, EventArgs e)
        {
            SetCombo();

            if (ctlProvinceFormView.CurrentMode.Equals(FormViewMode.Edit))
            {
                Label ctlLblProvinceIDShow   = ctlProvinceFormView.FindControl("ctlLblProvinceIDShow") as Label;
                Label ctlLblProvinceNameShow = ctlProvinceFormView.FindControl("ctlLblProvinceNameShow") as Label;

                LinkButton ctlProvinceIDInGrid   = ctlGridProvince.Rows[ctlGridProvince.EditIndex].FindControl("ctlLinkProvinceId") as LinkButton;
                Label      ctlProvinceNameInGrid = ctlGridProvince.Rows[ctlGridProvince.EditIndex].FindControl("ctlLblProvinceName") as Label;

                ctlLblProvinceIDShow.Text   = ctlProvinceIDInGrid.Text;
                ctlLblProvinceNameShow.Text = ctlProvinceNameInGrid.Text;

                DropDownList ctlCmbRegionId = ctlProvinceFormView.FindControl("ctlCmbRegionId") as DropDownList;
                DbProvince   dbProvince     = DbProvinceService.FindByIdentity(UIHelper.ParseShort(ctlProvinceIDInGrid.Text));
                ctlCmbRegionId.SelectedValue = dbProvince.Region.Regionid.ToString();
            }
        }
        protected void ctlBtnDeleteProvince_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in ctlGridProvince.Rows)
            {
                if ((row.RowType == DataControlRowType.DataRow) && ((CheckBox)row.FindControl("ctlSelect")).Checked)
                {
                    short provinceId = UIHelper.ParseShort(ctlGridProvince.DataKeys[row.RowIndex].Value.ToString());

                    if (!((CheckBox)row.FindControl("ctlChkActive")).Checked)//ไม่ Active
                    {
                        try
                        {
                            DbProvince province = DbProvinceService.FindProxyByIdentity(provinceId);

                            SsDbDaoProvider.DbProvinceLangDao.DeleteAllProvinceLang(provinceId);

                            DbProvinceService.Delete(province);
                            UpdatePanelGridView.Update();
                            ProvinceLangGridViewFinish();
                        }
                        catch (Exception ex)
                        {
                            if (((System.Data.SqlClient.SqlException)(ex.GetBaseException())).Number == 547)
                            {
                                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertInUseData",
                                                                        "alert('Account ID : " + provinceId.ToString() + " is Active. Can't Delete It');", true);
                            }
                        }
                    }
                    else//Active
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertActiveData",
                                                                "alert('Account ID :" + provinceId.ToString() + " is Active. Can't Delete It');", true);
                    }
                }
            }

            ctlGridProvince.DataCountAndBind();
        }
        protected void ctlGridProvince_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (this.IsMultiSelect == false)
            {
                if (e.CommandName.Equals("Select"))
                {
                    int        rowIndex   = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex;
                    short      provinceId = UIHelper.ParseShort(ctlGridProvince.DataKeys[rowIndex].Value.ToString());
                    DbProvince province   = DbProvinceService.FindByIdentity(provinceId);

                    Label ctlProvinceNameInGrid = ctlGridProvince.Rows[rowIndex].FindControl("ctlLblProvinceName") as Label;
                    Label ctlRegionNameInGrid   = ctlGridProvince.Rows[rowIndex].FindControl("ctlLblRegionName") as Label;

                    DBProvinceLovReturn lovReturn = new DBProvinceLovReturn();
                    lovReturn.ProvinceID   = province.Provinceid;
                    lovReturn.RegionID     = province.Region.Regionid;
                    lovReturn.ProvinceName = ctlProvinceNameInGrid.Text;
                    lovReturn.RegionName   = ctlRegionNameInGrid.Text;

                    CallOnObjectLookUpReturn(lovReturn);
                    Hide();
                }
            }
        }