private bool GetPlayers(XmlDocument response, PlayersList players) { bool newPlayersAdded = false; foreach (XmlNode subRootNode in response.DocumentElement.ChildNodes) { if (subRootNode.Name == "players") { foreach (XmlNode playerNode in subRootNode) { Players player = new Players(); if (playerNode["steamid"] != null) { player = players.Find( x => x.SteamID == Convert.ToInt32(Convert.ToInt64(playerNode["steamid"].InnerText) - 76561197960265728)); if (!player.RecordExists) { player = new Players(); players.Add(player); } } else { player = new Players(); players.Add(player); } if (playerNode["steamid"] != null) player.SteamID64 = Convert.ToInt64(playerNode["steamid"].InnerText); if (playerNode["communityvisibilitystate"] != null) player.CommunityVisibilityState = Convert.ToInt32(playerNode["communityvisibilitystate"].InnerText); if (playerNode["profilestate"] != null) player.ProfileState = Convert.ToInt32(playerNode["profilestate"].InnerText); if (playerNode["personaname"] != null) player.PersonaName = playerNode["personaname"].InnerText; if (playerNode["lastlogoff"] != null) player.LastLogOff = UnixTimeStampToDateTime(Convert.ToDouble(playerNode["lastlogoff"].InnerText)); if (playerNode["profileurl"] != null) player.ProfileURL = playerNode["profileurl"].InnerText; if (playerNode["avatar"] != null) player.Avatar = playerNode["avatar"].InnerText; if (playerNode["avatarmedium"] != null) player.AvatarMedium = playerNode["avatarmedium"].InnerText; if (playerNode["avatarfull"] != null) player.AvatarFull = playerNode["avatarfull"].InnerText; if (playerNode["personastate"] != null) player.PersonaState = Convert.ToInt32(playerNode["personastate"].InnerText); if (playerNode["realname"] != null) player.RealName = playerNode["realname"].InnerText; if (playerNode["primaryclanid"] != null) player.PrimaryClanID = Convert.ToInt64(playerNode["primaryclanid"].InnerText); if (playerNode["timecreated"] != null) player.TimeCreated = UnixTimeStampToDateTime(Convert.ToDouble(playerNode["timecreated"].InnerText)); if (playerNode["loccountrycode"] != null) player.LocCountyCode = playerNode["loccountrycode"].InnerText; if (playerNode["locstatecode"] != null) player.LocStateCode = playerNode["locstatecode"].InnerText; if (playerNode["loccityid"] != null) player.LocCityID = playerNode["loccityid"].InnerText; if (!QuiteMode) Console.WriteLine("Steam ID: " + player.SteamID + " Name: " + player.PersonaName + " Real Name: " + (player.RealName ?? "")); newPlayersAdded = true; } } } players.ForEach(x => x.LastUpdated = DateTime.Now); players.UpdateAll(); if (File.Exists("PlayerSummaryInfo" + players[0].SteamID + "(" + DateTime.Now.ToString("ddMMyyyy") + ").xml")) { File.Delete("PlayerSummaryInfo" + players[0].SteamID + "(" + DateTime.Now.ToString("ddMMyyyy") + ").xml"); } return newPlayersAdded; }
public bool GetTeams(XmlDocument response, int? teamID) { TeamsList teamsList = new TeamsList(); if (teamID != null) { Teams tempTeams = new Teams((int)teamID); if (!tempTeams.RecordExists) { teamsList.Add(new Teams() { ID = Convert.ToInt32(teamID), TeamName = "UNKNOWN" }); } else { teamsList.Add(tempTeams); } } bool newTeamsAdded = false; PlayersList players = new PlayersList(); foreach (XmlNode subRootNode in response.DocumentElement.ChildNodes) { if (subRootNode.Name == "teams") { foreach (XmlNode teamNode in subRootNode) { Teams team = new Teams(); if (teamNode["team_id"] != null) { team.LoadItem(Convert.ToInt32(teamNode["team_id"].InnerText)); if (!team.RecordExists) { team = new Teams(); } } else { team = new Teams(); } if (teamNode["team_id"] != null) team.ID = Convert.ToInt32(teamNode["team_id"].InnerText); if (team.ID == teamID) { Teams tempTeams = teamsList.Find(x => x.ID == teamID); if (tempTeams != null) { teamsList.Remove(tempTeams); } } if (teamNode["name"] != null) team.TeamName = teamNode["name"].InnerText; if (teamNode["tag"] != null) team.Tag = teamNode["tag"].InnerText; if (teamNode["time_created"] != null) team.TimeCreated = teamNode["time_created"].InnerText; if (teamNode["rating"] != null) team.Rating = teamNode["rating"].InnerText; if (teamNode["logo"] != null) team.Logo = teamNode["logo"].InnerText; if (teamNode["logo_sponsor"] != null) team.LogoSponsor = teamNode["logo_sponsor"].InnerText; if (teamNode["country_code"] != null) team.CountryCode = teamNode["country_code"].InnerText; if (teamNode["url"] != null) team.URL = teamNode["url"].InnerText; if (teamNode["games_played_with_current_roster"] != null) team.GamesPlayed = Convert.ToInt32(teamNode["games_played_with_current_roster"].InnerText); if (teamNode["admin_account_id"] != null) team.AdminAccount = Convert.ToInt32(teamNode["admin_account_id"].InnerText); team.LastUpdated = DateTime.Now; if (!QuiteMode) Console.WriteLine("Team ID: " + team.ID + " Name: " + team.TeamName); if (!team.RecordExists) { newTeamsAdded = true; } team.InsertOrUpdate(); TeamPlayersList teamPlayers = new TeamPlayersList(); teamPlayers.GetByTeam(team.ID); //Players addPlayer(players, teamPlayers, team.ID, teamNode, "player_0_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_1_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_2_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_3_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_4_account_id"); // Reserves addPlayer(players, teamPlayers, team.ID, teamNode, "player_5_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_6_account_id"); addPlayer(players, teamPlayers, team.ID, teamNode, "player_7_account_id"); players.UpdateAll(); //leagues; team = null; players.Clear(); teamPlayers.ForEach(x => x.Delete()); } } } if (teamsList.Count > 0) { teamsList.ForEach(x => x.LastUpdated = DateTime.Now); teamsList.UpdateAll(); } if (File.Exists("GetTeamInfo" + (teamID != null ? teamID.ToString() : "") + "(" + DateTime.Now.ToString("ddMMyyyy") + ").xml")) { File.Delete("GetTeamInfo" + (teamID != null ? teamID.ToString() : "") + "(" + DateTime.Now.ToString("ddMMyyyy") + ").xml"); } return newTeamsAdded; }