protected override GetTeamInfoByTeamIDResponseTeam Create(Type objectType, JObject jsonObject)
        {
            var team = new GetTeamInfoByTeamIDResponseTeam();

            team.TeamID      = long.Parse(jsonObject["team_id"].ToNullableString());
            team.Name        = jsonObject["name"].ToNullableString();
            team.Tag         = jsonObject["tag"].ToNullableString();
            team.TimeCreated = long.Parse(jsonObject["time_created"].ToNullableString()).ToDateTime();
            team.Rating      = jsonObject["rating"].ToNullableString();
            team.Logo        = long.Parse(jsonObject["logo"].ToNullableString());
            team.LogoSponsor = long.Parse(jsonObject["logo_sponsor"].ToNullableString());
            team.CountryCode = jsonObject["country_code"].ToNullableString();
            team.Url         = jsonObject["url"].ToNullableString();
            team.GamesPlayedWithCurrentRoster =
                int.Parse(jsonObject["games_played_with_current_roster"].ToNullableString());
            team.AdminIdentity =
                SteamIdentity.FromAccountID(long.Parse(jsonObject["admin_account_id"].ToNullableString()));
            team.PlayerIdentities = new List <SteamIdentity>();
            team.Leagues          = new List <GetTeamInfoByTeamIDResponseLeague>();

            var playerAccountIDs = jsonObject.Properties().Where(x => x.Name.Contains("player_"));

            foreach (var playerAccountID in playerAccountIDs)
            {
                team.PlayerIdentities.Add(
                    SteamIdentity.FromAccountID(long.Parse(playerAccountID.Value.ToNullableString())));
            }

            var leagueIDs = jsonObject.Properties().Where(x => x.Name.Contains("league_id"));

            foreach (var leagueID in leagueIDs)
            {
                team.Leagues.Add(new GetTeamInfoByTeamIDResponseLeague
                {
                    LeagueID = long.Parse(leagueID.Value.ToNullableString())
                });
            }

            return(team);
        }
 public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
                                 JsonSerializer serializer)
 {
     return(SteamIdentity.FromAccountID(long.Parse(reader.Value.ToNullableString())));
 }