Beispiel #1
0
        public ActionResult AgregarPermisos(ModeloPermisosRol modelo)
        {
            tbRol Rol = db.tbRol.Where(x => x.codTipoUsuario == modelo.codRol).SingleOrDefault();


            List <tbRolPermiso> tbRolPermisosAnt = Rol.tbRolPermiso.ToList();

            foreach (var p in modelo.permisos)
            {
                if (p.IsChecked)
                {       //si no esta en la lista antigua de la base de datos
                    if (!tbRolPermisosAnt.Any(x => x.idPermiso == p.codPemiso))
                    {
                        //el permiso no estaba y fue agregado
                        db.tbRolPermiso.InsertOnSubmit(new tbRolPermiso {
                            idPermiso = p.codPemiso, codTipoUsuario = modelo.codRol
                        });
                    }//else: se encuentra en la base y no se quitó el permiso, no se modificoo
                }
                else
                {
                    //si esta en la lista antigua de la base de datos es por que el permiso esta asignado y debe removerse
                    if (tbRolPermisosAnt.Any(x => x.idPermiso == p.codPemiso))
                    {
                        //tbRolPermiso rp = (from r in db.tbRolPermiso where (r.idPermiso == p.idPermiso && r.codTipoUsuario==modelo.rol.codTipoUsuario) select r).SingleOrDefault();
                        tbRolPermiso rp = db.tbRolPermiso.Where(x => x.codTipoUsuario == modelo.codRol && x.idPermiso == p.codPemiso).SingleOrDefault();
                        db.tbRolPermiso.DeleteOnSubmit(rp);
                    }//else: no estaba y no ase agregaraa
                }
            }

            db.SubmitChanges();

            return(RedirectToAction("Index"));
        }
Beispiel #2
0
        public ActionResult CambiarEstadoPermiso(int codRol, int codPermiso)
        {
            dbHeredadesEntities db      = new dbHeredadesEntities();
            tbRolPermiso        permiso = db.tbRolPermiso.Find(codRol, codPermiso);

            permiso.estado = !(permiso.estado);
            db.SaveChanges();
            return(PartialView("_ListaPermisos", (from t in db.tbRolPermiso where t.codRol == codRol select t).ToList()));
        }