BoardGameGeekApiClient.Service.BoardGameGeekClient.GetUserGames C# (CSharp) Method

GetUserGames() public method

public GetUserGames ( string userName ) : List
userName string
return List
        public List<GameDetails> GetUserGames(string userName)
        {
            try
            {
                var uriString = $"{BASE_URL_API_V2}/collection?username={userName}&own=1";
                var url = new Uri(uriString);

                var xDoc = _apiDownloadService.DownloadApiResult(url);

                var xElements = xDoc.Descendants("items").ToList();
                if (xElements.Count() == 1)
                {
                    var gameCollection = xElements.Descendants("item").Select(boardgame => new GameDetails
                    {
                        Name = boardgame.Element("name").GetStringValue(),
                        YearPublished = boardgame.Element("yearpublished").GetIntValue(),
                        GameId = boardgame.GetIntValue("objectid",-1).Value,
                        Image = boardgame.Element("image").GetStringValue(),
                        Thumbnail = boardgame.Element("thumbnail").GetStringValue(),
                        IsExpansion = boardgame.IsExpansion("subtype"),
                    });

                    return gameCollection.Where(g => !g.IsExpansion).ToList();
                }
            }

            catch (Exception ex)
            {
                _rollbar.SendException(ex);
            }

            return new List<GameDetails>();
        }