Пример #1
0
        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));
        }
Пример #2
0
        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));
        }