예제 #1
0
        private void btnModificar_Click(object sender, EventArgs e)
        {
            if (this.datosValidos())
            {
                MessageBox.Show("Complete los campos");
            }
            else
            {
                List <Funcionalidad> funcionalidades_seleccionadas = this.obtenerFuncionalidadesSeleccionadas();

                Rol rol_modificado = new Rol();
                rol_modificado.nombre          = txtNombre.Text;
                rol_modificado.funcionalidades = funcionalidades_seleccionadas;
                rol_modificado.id = rol_a_modificar.id; //le paso el id

                List <Funcionalidad> funcionalidades_rol_a_modificar = FuncionalidadDAO.obtener_funcionalidades_de_rol(rol_a_modificar);

                if (UsuarioDAO.tieneRol(form_home.form_anterior.usuario, rol_a_modificar.id) && !rol_modificado.funcionalidades.Any(f => f.nombre == "Abm Rol"))
                {
                    if (MessageBox.Show("¿Está a punto de quitar sus permisos para el ABM de Rol en el usuario que se encuentra logueado, desea continuar?", "ABM Rol", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        if (RolDAO.modificar_rol(rol_modificado, funcionalidades_rol_a_modificar))
                        {
                            MessageBox.Show("Rol modificado correctamente");
                            this.Close();
                            form_home.Close();
                            form_home.form_anterior.cargarDatos();
                        }
                        else
                        {
                            MessageBox.Show("Error al modificar rol ");
                        }
                    }
                }
                else
                {
                    if (RolDAO.modificar_rol(rol_modificado, funcionalidades_rol_a_modificar))
                    {
                        MessageBox.Show("Rol modificado correctamente");
                        this.Close();
                        form_home.cargarDatos();
                    }
                    else
                    {
                        MessageBox.Show("Error al modificar rol ");
                    }
                }
            }
        }
예제 #2
0
        private void cargarFuncionalidades()
        {
            List <Funcionalidad> funcionalidades     = FuncionalidadDAO.obtener_todas_funcionalidades();
            List <Funcionalidad> funcionalidades_rol = FuncionalidadDAO.obtener_funcionalidades_de_rol(rol_a_modificar);

            foreach (Funcionalidad funcionalidad in funcionalidades)
            {
                if (funcionalidades_rol.Any(f => f.id == funcionalidad.id)) //rol_a_modificar.funcionalidades.Any(f => f.id == funcionalidad.id)
                {
                    chkFuncionalidades.Items.Add(funcionalidad, CheckState.Checked);
                }
                else
                {
                    chkFuncionalidades.Items.Add(funcionalidad, CheckState.Unchecked);
                }

                chkFuncionalidades.DisplayMember = "nombre";
                chkFuncionalidades.SelectedValue = "id";
            }

            txtNombre.Text = rol_a_modificar.nombre;
        }