public async Task <IActionResult> GetOwnedGamesForSteamIdAsync(string steamId) { GetOwnedGamesResponse response = await _steamClient.GetOwnedGamesForSteamdIdAsync(steamId, true, true); response.Games = response.Games.OrderBy(game => game.Name).ToList(); return(Ok(response)); }
public async Task <ActionResult> Profile([FromBody] PantherProfileRequest request) { var steamUserTask = _steamClient.GetPlayerSummariesAsync(request.SteamId); var ownedGamesTask = _steamClient.GetOwnedGamesForSteamdIdAsync(request.SteamId, true, true); await Task.WhenAll(steamUserTask, ownedGamesTask); if (steamUserTask.Result.Players.Count == 0) { return(NotFound($"User not found for {request.SteamId}")); } else if (steamUserTask.Result.Players.Count > 1) { return(NotFound($"Multiple users found for {request.SteamId}")); } var profile = new PantherProfileResponse { User = steamUserTask.Result.Players.Single(), OwnedGames = ownedGamesTask.Result }; return(Ok(profile)); }