Exemplo n.º 1
0
        public static bool Nuevo(List<Entidades.MenuXrol> a)
        {
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                {
                    a.ForEach(delegate (Entidades.MenuXrol menuRol)
                    {
                        Entidades.Menu m = session.Load<Entidades.Menu>(menuRol.IdMenu.IdMenu);
                        Entidades.MenuXrol c = new Entidades.MenuXrol();
                        c.IdMenu = m;
                        c.IdRol = menuRol.IdRol;
                        m.MenuXrol.Add(c);
                        session.Save(c);
                        session.Flush();
                    });
                }
            }
            catch
            {
                return false;
            }

            return true;
        }
Exemplo n.º 2
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            permisos = Negocio.Seguridad.Seguridad.verificarPermisos();
            Entidades.Logica.Ejecucion resultado = new Entidades.Logica.Ejecucion();

            List<Entidades.MenuXrol> listMenu = new List<Entidades.MenuXrol>();

            if (hdfEstado.Value == "1" && permisos.C)
            {
                Entidades.RolUsuario nuevoRol = new Entidades.RolUsuario()
                {
                    NombreRol = txtNombre.Text,
                    C = cbxCrear.Checked,
                    R = cbxConsultar.Checked,
                    U = cbxEditar.Checked,
                    D = cbxEliminar.Checked
                };
                foreach (RepeaterItem item in rptMenu.Items)
                {
                    int cont = 0;
                    HiddenField idMenu = (HiddenField)item.FindControl("hdfIdMenu");
                    int IdMenu = Convert.ToInt32(idMenu.Value);
                    CheckBox cbxMenu = (CheckBox)item.FindControl("cbxMenu");
                    CheckBoxList cblSubmenu1 = (CheckBoxList)item.FindControl("cblSubmenu1");
                    foreach (ListItem cbxItem in cblSubmenu1.Items)
                    {
                        if (cbxItem.Selected)
                        {
                            Entidades.MenuXrol m = new Entidades.MenuXrol();
                            m.IdMenu.IdMenu = Convert.ToInt32(cbxItem.Value);
                            listMenu.Add(m);
                            cont++;
                        }
                    }
                    if(cont > 0)
                    {
                        Entidades.MenuXrol m = new Entidades.MenuXrol();
                        m.IdMenu.IdMenu = IdMenu;
                        listMenu.Add(m);
                    }
                    if(cbxMenu.Visible)
                    {
                        if(cbxMenu.Checked)
                        {
                            Entidades.MenuXrol m = new Entidades.MenuXrol();
                            m.IdMenu.IdMenu = Convert.ToInt32(IdMenu);
                            listMenu.Add(m);
                        }
                    }
                }

                resultado = Negocio.Seguridad.RolUsuario.Nuevo(nuevoRol,listMenu);
            }
            else if (hdfEstado.Value == "2" && permisos.U)
            {
                int IdRol = Convert.ToInt32(lblIdRol.Text);
                Entidades.RolUsuario nuevoRol = new Entidades.RolUsuario()
                {
                    IdRol = Convert.ToInt32(lblIdRol.Text),
                    NombreRol = txtNombre.Text,
                    C = cbxCrear.Checked,
                    R = cbxConsultar.Checked,
                    U = cbxEditar.Checked,
                    D = cbxEliminar.Checked
                };

                foreach (RepeaterItem item in rptMenu.Items)
                {
                    int cont = 0;
                    HiddenField idMenu = (HiddenField)item.FindControl("hdfIdMenu");
                    int IdMenu = Convert.ToInt32(idMenu.Value);
                    CheckBox cbxMenu = (CheckBox)item.FindControl("cbxMenu");
                    CheckBoxList cblSubmenu1 = (CheckBoxList)item.FindControl("cblSubmenu1");
                    foreach (ListItem cbxItem in cblSubmenu1.Items)
                    {
                        if (cbxItem.Selected)
                        {
                            Entidades.MenuXrol m = new Entidades.MenuXrol();
                            m.IdMenu.IdMenu = Convert.ToInt32(cbxItem.Value);
                            m.IdRol.IdRol = IdRol;
                            listMenu.Add(m);
                            cont++;
                        }
                    }
                    if (cont > 0)
                    {
                        Entidades.MenuXrol m = new Entidades.MenuXrol();
                        m.IdMenu.IdMenu = IdMenu;
                        m.IdRol.IdRol = IdRol;
                        listMenu.Add(m);
                    }
                    if (cbxMenu.Visible)
                    {
                        if (cbxMenu.Checked)
                        {
                            Entidades.MenuXrol m = new Entidades.MenuXrol();
                            m.IdMenu.IdMenu = Convert.ToInt32(IdMenu);
                            m.IdRol.IdRol = IdRol;
                            listMenu.Add(m);
                        }
                    }
                }

                resultado = Negocio.Seguridad.RolUsuario.Actualizar(nuevoRol, listMenu);
            }
            else
            {
                lblResultado.Text = "No tienes privilegios para realizar esta acción.";
            }

            resultado.errores.ForEach(delegate (Entidades.Logica.Error error)
            {
                lblResultado.Text += error.descripcionCorta + "<br/>";
            });

            //lblResultado.ForeColor = System.Drawing.Color.Red;
            lblResultado.Attributes["style"] = "color: #F00;";
            pnlResultado.Attributes["style"] = "background: rgba(252, 55, 55, 0.2);";
            if (resultado.resultado == true)
            {
                //lblResultado.ForeColor = System.Drawing.Color.Green;
                lblResultado.Attributes["style"] = "color: #008000;";
                pnlResultado.Attributes["style"] = "background: rgba(147, 252, 55, 0.22);";
                hdfEstado.Value = "0";
                btnNuevo.Visible = true;
                btnNuevo.Text = "Nuevo";
                pnlFormRol.Visible = false;
                pnlRoles.Visible = true;
                llenarGdvRoles();
            }
            pnlResultado.Visible = true;
        }