private void bind_Ls_HonourName(int index)
        {
            if (dAction==1)
            {
                try
                {
                    //LAY DANH SACH DANH HIEU CUA PHONG BAN
                    cls_Department_HonourableName dHName = new cls_Department_HonourableName();
                    dHName.DepartmentId = Convert.ToInt32(ViewState["DeparmentId"]);
                    DataTable dtDHName = dHName.Select();
                    lvHonourName.EditIndex = index;

                    if ((dtDHName == null) || (dtDHName.Rows.Count <= 0))
                    {
                        DataRow dRow = dtDHName.NewRow();
                        dRow["Id"] = "0";
                        dRow["Content"] = "";
                        dtDHName.Rows.Add(dRow);

                        lvHonourName.DataSource = dtDHName;
                        lvHonourName.DataBind();
                        lvHonourName.Items[0].Visible = false;
                    }
                    else
                    {
                        lvHonourName.DataSource = dtDHName;
                        lvHonourName.DataBind();
                    }

                    if (lvHonourName.Items.Count > 0)
                    {
                        string confirm = "return confirm('Bạn thật sự muốn xóa row này?')";

                        for (int i = 0; i < lvHonourName.Items.Count; i++)
                        {
                            ImageButton imgB = (ImageButton)lvHonourName.Items[i].FindControl("iBLDelete");
                            if (imgB != null)
                            {
                                imgB.Attributes.Add("onclick", confirm);
                            }
                        }
                    }

                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                DataTable dtHName = (DataTable)ViewState["dtHName"];
                if (dtHName == null)
                {
                    dtHName = new DataTable();
                    dtHName.Columns.Add("Id", typeof(int));
                    dtHName.Columns.Add("Content", typeof(string));
                }

                if (dtHName.Rows.Count <= 0)
                {
                    DataRow dRow = dtHName.NewRow();
                    dRow["Id"] = "0";
                    dRow["Content"] = "";
                    dtHName.Rows.Add(dRow);

                    lvHonourName.DataSource = dtHName;
                    lvHonourName.DataBind();
                    lvHonourName.Items[0].Visible = false;
                }
                else
                {
                    lvHonourName.EditIndex = index;
                    lvHonourName.DataSource = dtHName;
                    lvHonourName.DataBind();
                }

                ViewState["dtHName"] = dtHName;
            }
        }
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            ltlAnnouncement.Text = "";
            try
            {
                if (checkInputData())
                {
                    cls_DepartmentInformation dInfor = new cls_DepartmentInformation();
                    dInfor.Id = Convert.ToInt32(Request["D_Id"]);
                    dInfor.CreatedTime = DateTime.Now;
                    dInfor.AdministratorId = Convert.ToInt32(cboAdministrator.SelectedValue);
                    dInfor.Belong_DepartmentId = findDepartmentId(rcbDepartment.Items[0].Text);                   //Convert.ToInt32(rTree.SelectedValue);
                    dInfor.Established_Date = (dateEstablish.SelectedDate == null) ? new DateTime(1900, 1, 1) : (DateTime)dateEstablish.SelectedDate;
                    dInfor.Established_Number = txtEstaNumber.Text;
                    dInfor.Established_Signer = txtSigner.Text;
                    dInfor.IsActive = Convert.ToInt16(ckbActive.Checked);
                    dInfor.CalculateSalary = Convert.ToInt16(ckbCalSalary.Checked);
                    dInfor.LeaderId = Convert.ToInt32(cboLeader.SelectedValue);
                    dInfor.Name = txtDepartName.Text;
                    dInfor.Order = Convert.ToInt32(rtxtOrder.Text);
                    dInfor.CompanyId = Convert.ToInt16(ddlBelongCompany.SelectedValue);
                    dInfor.SeatPosition = txtSeatPosition.Text;

                    int result;
                    if (dAction==1)
                        result = dInfor.Update();
                    else
                    {
                        result = dInfor.Insert();

                        //THEM THONG TIN VE CAC VAI TRO CUA Phong Ban
                        DataTable dtDRoles = (DataTable)ViewState["dtDRoles"];
                        if (dtDRoles.Rows[0]["Id"].ToString() != "0")
                        {
                            int index = 0;
                            cls_Department_Roles dRoles;
                            while (index < dtDRoles.Rows.Count)
                            {
                                DataRow row = dtDRoles.Rows[index];
                                dRoles = new cls_Department_Roles();
                                dRoles.DepartmentId = result;
                                dRoles.Describle = row["Describle"].ToString();
                                dRoles.Note = row["Note"].ToString();
                                dRoles.Order = (int)row["Order"];
                                dRoles.CreatedTime = DateTime.Now;

                                dRoles.Insert();
                                index++;
                            }
                        }

                        //THEM THONG TIN VE CAC DANH HIEU CUA PHONG BAN
                        DataTable dtHName = (DataTable)ViewState["dtHName"];
                        if (dtHName.Rows[0]["Id"].ToString() != "0")
                        {
                            int index1 = 0;
                            cls_Department_HonourableName dHName;

                            while (index1 < dtHName.Rows.Count)
                            {
                                DataRow row = dtHName.Rows[index1];
                                dHName = new cls_Department_HonourableName();
                                dHName.DepartmentId = result;
                                dHName.Content = row["Content"].ToString();
                                dHName.CreatedTime = DateTime.Now;

                                dHName.Insert();
                                index1++;
                            }
                        }

                        ViewState["countDRoles"] = "0"; ViewState["dtDRoles"] = null;
                        ViewState["countHName"] = 0; ViewState["dtHName"] = null;

                        Label13.Text = "Cập nhật thông tin";
                        ddlCompany.SelectedValue = dInfor.CompanyId.ToString();
                        btnDelete.Visible = true;
                    }

                    if (result > 0)
                    {
                        ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(),
                               "MyScript", "alert('Cập nhật thông tin Phòng Ban " + txtDepartName.Text + " thành công.');", true);
                        Response.Redirect("Department.aspx?C_Id="+ddlBelongCompany.SelectedValue);
                        //bindTreeView();
                    }
                    else if (result == 0)
                         ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(),
                               "MyScript", "alert('Không cập nhật được thông tin Phòng Ban " + txtDepartName.Text + ".');", true);
                    else
                        ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(),
                              "MyScript", "alert('Trùng tên Phòng Ban " + txtDepartName.Text + ", không thể cập nhật.');", true);
                }

            }
            catch (Exception ex)
            {
                ltlAnnouncement.Text = "Có lỗi trong quá trình cập nhật thông tin Phòng Ban " + txtDepartName.Text + ": " + ex.ToString();
            }
        }
        protected void lvHonourName_ItemInserting(object sender, ListViewInsertEventArgs e)
        {
            try
            {
                ListViewItem item = lvHonourName.InsertItem;

                string hName = ((TextBox)item.FindControl("txtIHonourName")).Text;
                if (hName.Length <= 0)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(),
                              "MyScript", "alert('Bạn phải nhập Nội Dung Danh Hiệu trước!!!');", true);
                    return;
                }

                if (dAction==1)
                {
                    cls_Department_HonourableName dHName = new cls_Department_HonourableName();
                    dHName.DepartmentId = Convert.ToInt32(ViewState["DeparmentId"]);
                    dHName.Content = hName;
                    dHName.CreatedTime = DateTime.Now;

                    int _result = dHName.Insert();
                }
                else
                {
                    ViewState["countHName"] = (Convert.ToInt32(ViewState["countHName"]) + 1).ToString();
                    DataTable dtHName = (DataTable)ViewState["dtHName"];

                    if (ViewState["countHName"].ToString() == "1")
                        dtHName.Rows[0].Delete();
                    DataRow rowDT = dtHName.NewRow();
                    rowDT["Id"] = ViewState["countHName"];
                    rowDT["Content"] = hName;

                    dtHName.Rows.Add(rowDT);
                    ViewState["dtHName"] = dtHName;
                }
                bind_Ls_HonourName(-1);
            }
            catch (Exception ex)
            {
                if (dAction==1)
                    ltlAnnouncement.Text = "Khong them moi duoc du lieu. Vui long lien he voi quan tri<br>" + ex.Message;
            }
        }
        protected void lvHonourName_ItemUpdating(object sender, ListViewUpdateEventArgs e)
        {
            try
            {
                int id = e.ItemIndex;
                lvHonourName.EditIndex = id;
                ListViewItem item = lvHonourName.Items[id];

                string hName = ((TextBox)item.FindControl("txtUHonourName")).Text;
                if (hName.Length <= 0)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(),
                              "MyScript", "alert('Bạn phải nhập Nội Dung Danh Hiệu trước!!!');", true);
                    return;
                }

                int updateId = Int32.Parse(lvHonourName.DataKeys[id].Value.ToString());
                if (updateId > 0)
                {

                    if (dAction==1)
                    {
                        cls_Department_HonourableName dHName = new cls_Department_HonourableName();

                        dHName.Id = updateId;
                        dHName.DepartmentId = Convert.ToInt32(ViewState["DeparmentId"]);
                        dHName.Content = hName;
                        dHName.CreatedTime = DateTime.Now;

                        int _result = dHName.Update();
                    }
                    else
                    {
                        DataTable dtHName = (DataTable)ViewState["dtHName"];
                        dtHName.Rows[id]["Content"] = hName;
                        ViewState["dtHName"] = dtHName;
                    }
                }
            }
            catch (Exception ex)
            {
                if (dAction==1)
                    ltlAnnouncement.Text = "Khong cap nhat duoc du lieu. Vui long lien he voi quan tri<br>" + ex.Message;
            }

            bind_Ls_HonourName(-1);
        }
        protected void lvHonourName_ItemDeleting(object sender, ListViewDeleteEventArgs e)
        {
            try
            {
                int id = e.ItemIndex;
                lvHonourName.EditIndex = id;

                int delId = (int)lvHonourName.DataKeys[e.ItemIndex].Value;
                if (delId != 0)
                {
                    if (dAction==1)
                    {
                        cls_Department_HonourableName dHName = new cls_Department_HonourableName();
                        dHName.Id = delId;

                        int status_Delete = dHName.Delete();
                    }
                    else
                    {
                        DataTable dtHName = (DataTable)ViewState["dtHName"];
                        dtHName.Rows[id].Delete();
                        dtHName.AcceptChanges();
                        ViewState["dtHName"] = dtHName;
                    }
                }
            }
            catch (Exception ex)
            {
                if (dAction==1)
                    ltlAnnouncement.Text = "Lỗi trong quá trình xóa danh hiệu: " + ex.ToString();
            }
            bind_Ls_HonourName(-1);
        }