public async Task <ActionResult> GestionarPermisos(string id) { IdentityRole rol = await _roleManager.FindByIdAsync(id); if (rol == null) { return(NotFound(new ApiResponseFormat() { Estado = StatusCodes.Status404NotFound, Mensaje = "Rol invalido" })); } var permisos_activos = await _roleManager.GetClaimsAsync(rol); RolPermisoVerViewModel rolConPermisos = new RolPermisoVerViewModel() { IdRol = rol.Id }; foreach (Permiso permiso in await _context.Permisos.ToListAsync()) { PermisoAsignado permisos = new PermisoAsignado() { Type = permiso.Tipo, Value = permiso.Valor }; if (permisos_activos.Any(p => p.Type == permiso.Tipo)) { permisos.Activo = true; } rolConPermisos.Permisos.Add(permisos); } return(Ok(new ApiResponseFormat() { Estado = StatusCodes.Status200OK, Dato = rolConPermisos })); }
public async Task <ActionResult <IEnumerable <UsuarioVerPermisosViewModel> > > GestionarPermisos(string id) { Usuario user = await _userManager.FindByIdAsync(id); if (user == null) { return(NotFound(new ApiResponseFormat() { Estado = StatusCodes.Status404NotFound, Mensaje = "IUsuario invalido" })); } var permisos_activos = await _userManager.GetClaimsAsync(user); UsuarioVerPermisosViewModel permisos_agregar = new UsuarioVerPermisosViewModel() { IdUsuario = user.Id }; foreach (Permiso permiso in await _context.Permisos.ToListAsync()) { PermisoAsignado permisos = new PermisoAsignado() { Type = permiso.Tipo, Value = permiso.Valor }; if (permisos_activos.Any(p => p.Type == permiso.Tipo && p.Value.Equals("true"))) { permisos.Activo = true; } permisos_agregar.Permisos.Add(permisos); } return(Ok(new ApiResponseFormat() { Estado = StatusCodes.Status200OK, Dato = permisos_agregar })); }