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); } }
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); }