public ActionResult CreateRoleAccion(int idRol, int idAccion) { Acciones accion = db.Acciones.Find(idAccion); Rol_Acciones rol_AccionVerification = db.Rol_Acciones.Where(x => x.id_accion == idAccion && x.id_controlador == accion.Controladores.id_controlador && x.id_rol == idRol ).DefaultIfEmpty(null).Single(); if (rol_AccionVerification == null) { Roles rol = db.Roles.Find(idRol); Rol_Acciones rolAccion = new Rol_Acciones(); rolAccion.Roles = rol; rolAccion.id_rol = idRol; rolAccion.Acciones = accion; rolAccion.id_accion = idAccion; rolAccion.Controladores = accion.Controladores; rol.Rol_Acciones.Add(rolAccion); db.SaveChanges(); } return(new EmptyResult()); }
public ActionResult DeleteConfirmed(int id) { Rol_Acciones rol_Acciones = db.Rol_Acciones.Find(id); db.Rol_Acciones.Remove(rol_Acciones); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult AddAllByApp(int idAplicacion, int id_rol) { Aplicaciones aplicacion = db.Aplicaciones.Find(idAplicacion); Roles rol = db.Roles.Find(id_rol); if (rol == null || aplicacion == null) { ContextMessage msg = new ContextMessage(ContextMessage.Warning, "El rol o la aplicacion no son validos"); msg.ReturnUrl = Url.Action("Index"); TempData[User.Identity.Name] = msg; return(RedirectToAction("Mensaje")); } List <Controladores> controladores = aplicacion.Controladores.ToList(); using (DbContextTransaction tran = db.Database.BeginTransaction()) { try { foreach (Controladores controlador in controladores) { foreach (Acciones accion in controlador.Acciones) { Rol_Acciones permiso = db.Rol_Acciones.Where(ra => ra.id_accion == accion.id_accion && ra.id_rol == rol.id_rol && ra.id_controlador == controlador.id_controlador).DefaultIfEmpty(null).FirstOrDefault(); if (permiso == null) { Rol_Acciones rolAccion = new Rol_Acciones(); rolAccion.id_accion = accion.id_accion; rolAccion.id_rol = rol.id_rol; rolAccion.id_controlador = controlador.id_controlador; db.Rol_Acciones.Add(rolAccion); } } } db.SaveChanges(); ContextMessage msg = new ContextMessage(ContextMessage.Success, "Permisos agregados con éxito"); msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion, idRol = rol.id_rol }); TempData[User.Identity.Name] = msg; tran.Commit(); return(RedirectToAction("Mensaje")); } catch { tran.Rollback(); ContextMessage msg = new ContextMessage(ContextMessage.Error, App_GlobalResources.Resources.error_inesperado); msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion }); return(RedirectToAction("Mensaje")); } } }
public ActionResult Edit([Bind(Include = "id_rol,id_controlador,id_accion")] Rol_Acciones rol_Acciones) { if (ModelState.IsValid) { db.Entry(rol_Acciones).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id_accion = new SelectList(db.Acciones, "id_accion", "nombre", rol_Acciones.id_accion); ViewBag.id_controlador = new SelectList(db.Controladores, "id_controlador", "nombre", rol_Acciones.id_controlador); ViewBag.id_rol = new SelectList(db.Roles, "id_rol", "nombre", rol_Acciones.id_rol); return(View(rol_Acciones)); }
// GET: Administracion/Rol_Acciones/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Rol_Acciones rol_Acciones = db.Rol_Acciones.Find(id); if (rol_Acciones == null) { return(HttpNotFound()); } return(View(rol_Acciones)); }
// GET: Administracion/Rol_Acciones/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Rol_Acciones rol_Acciones = db.Rol_Acciones.Find(id); if (rol_Acciones == null) { return(HttpNotFound()); } ViewBag.id_accion = new SelectList(db.Acciones, "id_accion", "nombre", rol_Acciones.id_accion); ViewBag.id_controlador = new SelectList(db.Controladores, "id_controlador", "nombre", rol_Acciones.id_controlador); ViewBag.id_rol = new SelectList(db.Roles, "id_rol", "nombre", rol_Acciones.id_rol); return(View(rol_Acciones)); }
public ActionResult RemoveRoleAccion(int idRol, int idAccion, int idControlador) { Rol_Acciones rol_Accion = db.Rol_Acciones.Where(x => x.id_accion == idAccion && x.id_controlador == idControlador && x.id_rol == idRol ).DefaultIfEmpty(null).Single(); if (rol_Accion != null) { db.Rol_Acciones.Remove(rol_Accion); db.SaveChanges(); } return(RedirectToAction("Edit", new { id = idRol }));; }
public JsonResult SwitchAccess(int idControlador, int idRol, int idAccion) { Controladores controlador = db.Controladores.Find(idControlador); Roles rol = db.Roles.Find(idRol); Acciones accion = db.Acciones.Find(idAccion); if (controlador == null || rol == null || accion == null) { return(Json(new { resultado = 0 }, JsonRequestBehavior.AllowGet)); } try { Rol_Acciones permiso = db.Rol_Acciones.Where(ra => ra.id_accion == accion.id_accion && ra.id_controlador == controlador.id_controlador && ra.id_rol == rol.id_rol).DefaultIfEmpty(null).FirstOrDefault(); if (permiso == null) { Rol_Acciones nuevoPermiso = new Rol_Acciones(); nuevoPermiso.id_rol = rol.id_rol; nuevoPermiso.id_controlador = controlador.id_controlador; nuevoPermiso.id_accion = accion.id_accion; db.Rol_Acciones.Add(nuevoPermiso); } else { db.Rol_Acciones.Remove(permiso); } db.SaveChanges(); return(Json(new { resultado = 1 }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { resultado = 0 }, JsonRequestBehavior.AllowGet)); } }