protected void BtnUpdateFunxRol_Click(object sender, EventArgs e)
        {
            int        id_rol              = Convert.ToInt32(ddlRoles.SelectedValue.ToString());
            List <Rol> listaRoles          = RolLN.getInstance().listaRoles(Session["schema"].ToString());
            List <Rol> listRolSeleccionado = listaRoles.Where(item => item.id == id_rol).ToList();
            Rol        rolSeleccionado     = new Rol();

            rolSeleccionado = listRolSeleccionado[0];

            //recorro todos los items buscando si es igual a alguna de las funcionalidades entonces lo pongo true
            foreach (ListItem item in chListFuncionalidades.Items)
            {
                bool existeRelacion = false;
                foreach (Funcionalidad funcionalidad in rolSeleccionado.funcionalidades)
                {
                    if ((funcionalidad.id.ToString() == item.Value.ToString()) &&
                        (!item.Selected))
                    {
                        AdminLN.getInstance().deletefuncxrol(id_rol, funcionalidad.id, Session["schema"].ToString());
                        existeRelacion = true;
                    }
                }
                if (!existeRelacion && item.Selected)
                {
                    int id_funcionalidad = Convert.ToInt32(item.Value.ToString());
                    AdminLN.getInstance().updatefuncxrol(id_rol, id_funcionalidad, Session["schema"].ToString());
                }
            }


            //recorro todos los items para saber cual esta seleccionado y lo guardo en una lista
        }
        //funcion para setear los checkbox por rol según las funcionalidades que tenga
        protected void setFuncxRol()
        {
            //desselecciono todos los items
            foreach (ListItem item in chListFuncionalidades.Items)
            {
                item.Selected = false;
            }

            //busco las funcionalidades x rol
            int        id_rol              = Convert.ToInt32(ddlRoles.SelectedValue.ToString());
            List <Rol> listaRoles          = RolLN.getInstance().listaRoles(Session["schema"].ToString());
            List <Rol> listRolSeleccionado = listaRoles.Where(item => item.id == id_rol).ToList();
            Rol        rolSeleccionado     = new Rol();

            rolSeleccionado = listRolSeleccionado[0];

            //recorro todos los items buscando si es igual a alguna de las funcionalidades entonces lo pongo true
            foreach (ListItem item in chListFuncionalidades.Items)
            {
                foreach (Funcionalidad funcionalidad in rolSeleccionado.funcionalidades)
                {
                    if (funcionalidad.id.ToString() == item.Value.ToString())
                    {
                        item.Selected = true;
                        break;
                    }
                    else
                    {
                        item.Selected = false;
                    }
                }
            }
        }
        protected void BindData()
        {
            List <Rol> listaUsuarios = RolLN.getInstance().listaRoles(Session["schema"].ToString());

            gridRoles.DataSource = listaUsuarios;
            gridRoles.DataBind();
        }
        protected void BtnDeleteRol_Click(object sender, EventArgs e)
        {
            int count = 0;

            foreach (GridViewRow row in gridRoles.Rows)
            {
                CheckBox chk = (CheckBox)row.FindControl("chkDelete");
                if (chk.Checked)
                {
                    TextBox txtIdRol     = (TextBox)row.FindControl("txtIdRol");
                    TextBox txtNombreRol = (TextBox)row.FindControl("txtNombre");
                    int     idRol        = Convert.ToInt32(txtIdRol.Text.Trim());
                    bool    eliminados   = RolLN.getInstance().eliminarRol(idRol,
                                                                           Session["schema"].ToString());
                    if (!eliminados)
                    {
                        Response.Write(@"<script language='javascript'>alert('Error al eliminar el rol ');</script>");
                    }
                    else
                    {
                        count = count + 1;
                    }
                }
            }
            Response.Write(@"<script language='javascript'>alert('Eliminados: " + count + " .');</script>");
            Response.Redirect(Request.Url.AbsoluteUri);
        }
        protected void BtnAddRol_Click(object sender, EventArgs e)
        {
            string retorno = RolLN.getInstance().nuevoRol(txtNombreRol.Text.Trim(),
                                                          Session["schema"].ToString());

            txtNombreRol.Text = "";
            Response.Write(@"<script language='javascript'>alert('" + retorno + " .');</script>");
        }
Exemplo n.º 6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         TienePermiso();
         List <Rol> listaRoles = RolLN.getInstance().listaRoles(Session["schema"].ToString());
         foreach (Rol rol in listaRoles)
         {
             ListItem newItem = new ListItem(rol.nombre, rol.id.ToString(), true);
             ddlRoles.Items.Add(newItem);
         }
     }
 }
 //Cargar el DropDownList de Roles en modo edición
 protected void gridUsuarios_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow && gridUsuarios.EditIndex == e.Row.RowIndex)
     {
         DropDownList ddlRoles   = (DropDownList)e.Row.FindControl("ddlEditRol");
         List <Rol>   listaRoles = RolLN.getInstance().listaRoles(Session["schema"].ToString());
         foreach (Rol rol in listaRoles)
         {
             ListItem newItem = new ListItem(rol.nombre, rol.id.ToString(), true);
             ddlRoles.Items.Add(newItem);
         }
         ddlRoles.DataBind();
         ddlRoles.Items.FindByValue((e.Row.FindControl("lblRol") as Label).Text).Selected = true;
     }
 }
        //Aceptar actualizar datos
        protected void gridRoles_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            GridViewRow row          = gridRoles.Rows[e.RowIndex];
            TextBox     txtIdRol     = (TextBox)row.FindControl("txtEditIdRol");
            TextBox     txtNombreRol = (TextBox)row.FindControl("txtEditNombre");
            int         idRol        = Convert.ToInt32(txtIdRol.Text.Trim());
            string      nombreRol    = txtNombreRol.Text.Trim();

            bool retorno = RolLN.getInstance().updateRol(idRol, nombreRol, Session["schema"].ToString());

            if (retorno)
            {
                Response.Write(@"<script language='javascript'>alert('Rol actualizado correctamente.');</script>");
                Response.Redirect(Request.Url.AbsoluteUri);
            }
            else
            {
                Response.Write(@"<script language='javascript'>alert('El Rol ya existe.');</script>");
                Response.Redirect(Request.Url.AbsoluteUri);
            }
        }