Ejemplo n.º 1
0
        public ActionResult asignarModulosARol(int id, RolModuloViewModel viewModel)
        {
            try
            {
                var rol = db.rol.FirstOrDefault(e => e.idRol.Equals(id) && e.estado == true);
                if (rol != null)
                {
                    var modulo = db.modulo.First(m => m.idModulo.Equals(viewModel.ModuloEspecifico.idModulo));
                    rol.modulo.Add(modulo);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
                else
                {
                    ErrorModel error = new ErrorModel { mensaje = "Otro usuario elimino el rol durante la operacion" };
                    return View("Error", error);
                }

            }
            catch (Exception e)
            {
                ErrorModel error = new ErrorModel
                {
                    mensaje = e.InnerException.ToString()
                };

                return View("Error", error);
            }
        }
Ejemplo n.º 2
0
        public ActionResult asignarModulosARol(int id)
        {
            if (Session["userID"] == null)
            {

                ErrorModel error = new ErrorModel
                {
                    mensaje = "Debes iniciar sesion para acceder a esta pagina"
                };
                return View("Error", error);
            }
            else
            {
                bool autorizado = false;
                int idUser = (int)Session["userID"];
                var usuario = db.usuario.FirstOrDefault(u => u.idUsuario.Equals(idUser));
                foreach (var m in usuario.rol.modulo.Where<modulo>(mod => mod.idModulo.Equals(1)))
                {
                    if (m.idModulo == 1 && usuario.rol.estado == true)
                    {
                        autorizado = true;
                    }
                }
                if (!autorizado)
                {
                    ErrorModel error = new ErrorModel
                    {
                        mensaje = "No tienes permisos para acceder a esta página"
                    };
                    return View("Error", error);
                }
            }
            var rol = db.rol.First(r => r.idRol.Equals(id));
            var listaModulos = db.modulo.ToList();
            List<modulo> listaReal = new List<modulo>();
            foreach (var m in listaModulos) {
                if (rol.modulo.Contains(m) == false) {
                    listaReal.Add(m);
                }
            }
            var viewModel = new RolModuloViewModel
            {
                Rol = rol,
                Modulos = listaReal

            };
            return View(viewModel);
        }