void RunAutomaticUpdates() { while (PerformUpdates()) { List <Summoner> summoners = StatisticsService.GetAutomaticUpdateSummoners(Region); if (summoners.Count > 0) { WriteLine("Performing automatic updates for {0} summoner(s)", summoners.Count); } foreach (var summoner in summoners) { if (!PerformUpdates()) { return; } WriteLine("Performing automatic updates for summoner {0}", summoner.SummonerName); OperationResult result = UpdateSummonerByAccountId(summoner.AccountId); if (result != OperationResult.Success && result != OperationResult.NotFound) { WriteLine("Update for summoner {0} failed", summoner.SummonerName); } } if (summoners.Count > 0) { WriteLine("Done performing automatic updates for {0} summoner(s)", summoners.Count); } TerminationEvent.WaitOne(AutomaticUpdateInterval * 1000); } }
void RunAutomaticUpdates() { while (PerformUpdates()) { List <Summoner> summoners = StatisticsService.GetAutomaticUpdateSummoners(Region); if (summoners.Count > 0) { WriteLine("Performing automatic updates for {0} summoner(s)", summoners.Count); } foreach (var summoner in summoners) { if (!PerformUpdates()) { return; } WriteLine("Performing automatic updates for summoner {0}", summoner.SummonerName); OperationResult result = UpdateSummonerByAccountId(summoner.AccountId); switch (result) { case OperationResult.NotConnected: WriteLine("Update for summoner {0} failed, the client is not connected", summoner.SummonerName); break; case OperationResult.NotFound: WriteLine("Summoner {0} could not be found", summoner.SummonerName); Reconnect(); break; case OperationResult.Timeout: WriteLine("Update for summoner {0} failed because the request timed out", summoner.SummonerName); Reconnect(); break; } } if (summoners.Count > 0) { WriteLine("Done performing automatic updates for {0} summoner(s)", summoners.Count); } TerminationEvent.WaitOne(AutomaticUpdateInterval * 1000); } }