protected void btnAgregarPrivilegio_Click(object sender, EventArgs e)
        {
            Cls_Privilegios_Roles_BLL objBLL = new Cls_Privilegios_Roles_BLL();
            Cls_Privilegios_Roles_DAL objDAL = new Cls_Privilegios_Roles_DAL();

            bool existRecord = false;

            for (int i = 0; i < gdvPrivilegios.Rows.Count; i++)
            {
                String Privilegio = gdvPrivilegios.Rows[i].Cells[2].Text;

                if (cmbPrivilegios.SelectedItem.Text == Privilegio)
                {
                    existRecord = true;
                    break;
                }
            }

            if (!existRecord)
            {
                objDAL.iRol        = Convert.ToInt16(txtIdRol.Value.ToString().Trim());
                objDAL.iPrivilegio = Convert.ToInt16(cmbPrivilegios.SelectedValue.ToString().Trim());

                objBLL.Insertar(ref objDAL);

                CargarPrivilegios(objDAL.iRol);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopup", "alert('El privilegio ya existe en el Rol');", true);
            }
        }
        private void CargarPrivilegios(int idRol)
        {
            Cls_Privilegios_Roles_BLL objBLL = new Cls_Privilegios_Roles_BLL();
            Cls_Privilegios_Roles_DAL objDAL = new Cls_Privilegios_Roles_DAL();

            objDAL.iFiltro = idRol;

            gdvPrivilegios.DataSource = null;
            gdvPrivilegios.DataBind();

            objBLL.Filtrar(ref objDAL);
            if (objDAL.sError == string.Empty)
            {
                gdvPrivilegios.SelectedIndex = -1;
                gdvPrivilegios.DataSource    = objDAL.dtTabla;
                gdvPrivilegios.DataBind();
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopup", "alert('Se presento un problema a la hora de cargar el los privilegios');", true);
            }
        }
        protected void gdvPrivilegios_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Borrar")
            {
                int         index           = Convert.ToInt32(e.CommandArgument);
                GridViewRow row             = gdvPrivilegios.Rows[index];
                String      idPrivilegioRol = gdvPrivilegios.Rows[index].Cells[1].Text;

                Cls_Privilegios_Roles_BLL objBLL = new Cls_Privilegios_Roles_BLL();
                Cls_Privilegios_Roles_DAL objDAL = new Cls_Privilegios_Roles_DAL();

                objDAL.iPrivilegioRol = Convert.ToInt32(idPrivilegioRol.Trim());
                objBLL.Eliminar(ref objDAL);

                if (!string.IsNullOrEmpty(objDAL.sError))
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopup", "alert('Se presento un problema a la hora de eliminar el registro');", true);
                }
                else
                {
                    CargarPrivilegios(Convert.ToInt16(txtIdRol.Value.ToString().Trim()));
                }
            }
        }