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());
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        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"));
                }
            }
        }
Esempio n. 4
0
 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));
 }
Esempio n. 5
0
        // 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));
        }
Esempio n. 6
0
        // 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 }));;
        }
Esempio n. 8
0
        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));
            }
        }