private static void GetMatchesPerUndocumentedPlayer() { Dota2DataMiner.Class1 d2Dm = new Dota2DataMiner.Class1(); PlayersList playersList = new PlayersList(); // Get latest Team. long steamID64 = playersList.GetPlayerWithNoMatchRecords(); // If nothing new to find, return if (steamID64 == -1) return; // Check for and Recover Local Data. d2Dm.GetMatchPerPlayerLocalData(steamID64, 0); // Get latest Team. steamID64 = playersList.GetPlayerWithNoMatchRecords(); // If nothing new to find, return if (steamID64 == -1) return; // Check if System Config permits this method call. SystemConfig systemConfig = new SystemConfig(); systemConfig.GetByKey("GetMatchesPerUndocumentedPlayer"); if (systemConfig.RecordExists) { if (DateTime.Now < Convert.ToDateTime(systemConfig.SCValue).AddSeconds(1)) return; } else { systemConfig.SCKey = "GetMatchesPerUndocumentedPlayer"; } // Get or Create SteamRequest SteamRequests steamRequests; GetSteamRequest(out steamRequests); // Check if API can be used else return if (DateTime.Now < steamRequests.LastUpdated.AddSeconds(1)) return; // Increment the Steam Request Counter Console.WriteLine("Steam request number : " + steamRequests.RequestNumber + " - Get Matches Per Undocumented Player"); steamRequests.RequestNumber++; steamRequests.LastUpdated = DateTime.Now; steamRequests.InsertOrUpdate(); // Get Live Data. if (d2Dm.GetMatchPerPlayer(steamID64, 0, "GetMatchesPerUndocumentedPlayer", systemConfig)) { // New Data Found, sleep for 1 seconds as steam requests before continuing. systemConfig.SCValue = DateTime.Now.ToString(); } else { // No New Data Found, sleep for 60 seconds to save daily requests. if (!QuiteMode) Console.WriteLine("No Match Per Player Found."); systemConfig.SCValue = DateTime.Now.AddMinutes(1).ToString(); } systemConfig.InsertOrUpdate(); }