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

GetUserDetails() public method

public GetUserDetails ( string userName ) : UserDetails
userName string
return BoardGameGeekApiClient.Models.UserDetails
        public UserDetails GetUserDetails(string userName)
        {
            UserDetails details = null;


            try
            {
                var teamDataURI = new Uri(string.Format(BASE_URL_API_V2 + "/user?name={0}", userName));

                var xDoc = _apiDownloadService.DownloadApiResult(teamDataURI);


                var xElements = xDoc.Descendants("user").ToList();
                if (xElements.Count() == 1)
                {

                    var userElement = xElements.First();
                    int userId;
                    if (int.TryParse(userElement.Attribute("id").Value, out userId))
                    {
                        var avatarLink = userElement.Element("avatarlink").GetStringValue(attribute: "value");
                        Uri avatarUri;
                        if (!Uri.TryCreate(avatarLink, UriKind.Absolute, out avatarUri))
                        {
                            avatarLink = string.Empty;
                        }
                        details = new UserDetails
                        {
                            Name = userName,
                            Avatar = avatarLink,
                            UserId = userId
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                _rollbar.SendException(ex);
            }

            return details;
        }