protected void loadUserByDepartmentId(int departId)
    {
        ulBus = new UserLoginBUS();
        deBus = new DepartmentBUS();
        DataTable dtLogin = ulBus.GetByDepartmentId(departId);

        dlMember.DataSource = dtLogin;
        dlMember.DataBind();
        for (int i = 0; i < dtLogin.Rows.Count; i++)
        {
            DataRow row = dtLogin.Rows[i];

            Label lblUsername = (Label)dlMember.Items[i].FindControl("lblUsername");
            lblUsername.Text = row["Username"].ToString();

            Label lblDepartment = (Label)dlMember.Items[i].FindControl("lblDepartment");
            DataTable dtDepartment = deBus.GetByID(int.Parse(row["DepartmentId"].ToString()));
            if (dtDepartment.Rows.Count > 0)
            {
                lblDepartment.Text = dtDepartment.Rows[0]["Name"].ToString();

            }

            LinkButton lbtEdit = (LinkButton)dlMember.Items[i].FindControl("lbtEdit");
            lbtEdit.CommandArgument = row["UserId"].ToString();

            LinkButton lbtDelete = (LinkButton)dlMember.Items[i].FindControl("lbtDelete");
            lbtDelete.CommandArgument = row["UserId"].ToString();

            LinkButton lbtViewDetail = (LinkButton)dlMember.Items[i].FindControl("lbtViewDetail");
            lbtViewDetail.CommandArgument = row["UserId"].ToString();
            lbtViewDetail.PostBackUrl = "user-detail.aspx?uid=" + row["UserId"].ToString();
            if (row["Username"].Equals("administrator"))
            {
                lbtDelete.Visible = false;
                lbtEdit.Visible = false;
                lbtViewDetail.Visible = false;
            }

        }
    }
    protected void loadBasicRole()
    {
        String departmentId = Request.QueryString["departmentId"];
        dmBus = new DepartmentBUS();
        rlBus = new RoleListBUS();
        rdBus = new RoleDetailBUS();
        DataTable tblDepartment = dmBus.GetByID(int.Parse(departmentId));
        if (tblDepartment.Rows.Count > 0)
        {
            string info = tblDepartment.Rows[0]["Name"].ToString();
            lblDepartmentName.Text = info;
        }

        //load role list
        DataTable dtRoleList = null;
        if (getUserLogin().DepartmentId == 1)
        {
            dtRoleList = rlBus.GetAll();
        }
        else
        {
            // load role list by role admin level 2.
            dtRoleList = rlBus.GetRoleByDepartmentId(getUserLogin().DepartmentId);
        }

        // Lấy danh sách quyền của phòng ban được chọn.
        DataTable dtRoleDetail = rdBus.GetByDepartmentId(int.Parse(departmentId));

        // Không hiển thị với phân quyền tạo phòng ban & tạo user với admin cấp 2
        DataTable dtNewRoleList = dtRoleList.Clone();
        foreach (DataRow row in dtRoleList.Rows)
        {
            // Không hiển thị chức năng cấp quyền tạo phòng ban & tạo user
            // Với user thuộc phòng ban tấp 2
            if (getUserLogin().DepartmentId != 1
                && (int.Parse(row["roleId"].ToString()) == 9
                || int.Parse(row["roleId"].ToString()) == 22))
            {
                continue;
            }
            else
            {

                dtNewRoleList.ImportRow(row);
            }
        }

        dlRoleList.DataSource = dtNewRoleList;
        dlRoleList.DataBind();
        for (int i = 0; i < dtNewRoleList.Rows.Count; i++)
        {
            DataRow row = dtNewRoleList.Rows[i];
            string roleId = row["roleId"].ToString();

            HiddenField hdfRoleId = (HiddenField)dlRoleList.Items[i].FindControl("hdfRoleId");
            hdfRoleId.Value = roleId;

            //selected role with department
            CheckBox chkCheck = (CheckBox)dlRoleList.Items[i].FindControl("chkCheck");
            for (int j = 0; j < dtRoleDetail.Rows.Count; j++)
            {
                int rId = int.Parse(dtRoleDetail.Rows[j]["roleId"].ToString());
                if (rId == int.Parse(roleId))
                {
                    chkCheck.Checked = true;
                    break;
                }
            }

            Label lblRoleName = (Label)dlRoleList.Items[i].FindControl("lblRoleName");
            lblRoleName.Text = row["roleName"] != null ? row["roleName"].ToString() : "";
            if (int.Parse(roleId) >= 100) // Là những tùy chọn chức năng chính.
            {
                lblRoleName.ForeColor = Color.Red;
            }

        }
        hdfDepartmentId.Value = departmentId;
    }