private bool RefreshSingleCoinStats(IApiContext apiContext) { try { //remove dupes by Symbol in case the Coin API returns them - seen from user IEnumerable<CoinInformation> newCoinInformation = apiContext.GetCoinInformation(UserAgent.AgentString).GroupBy(c => c.Symbol).Select(g => g.First()).ToList(); //do not set / overwrite CoinApiInformation - update the contents //otherwise we remove valid MultiCoin information that may fail to be //refreshed in RefreshMultiCoinStats() CoinApiInformation.RemoveAll(c => !c.IsMultiCoin); CoinApiInformation.AddRange(newCoinInformation); successfulApiContext = apiContext; } catch (Exception ex) { //don't crash if website cannot be resolved or JSON cannot be parsed if ((ex is WebException) || (ex is InvalidCastException) || (ex is FormatException) || (ex is CoinApiException) || (ex is JsonReaderException)) { if (ApplicationConfiguration.ShowApiErrors) { ShowCoinApiErrorNotification(apiContext, ex); } return false; } throw; } return true; }
private bool ApplyCoinInformationToViewModel(IApiContext apiContext) { try { //remove dupes by Symbol in case the Coin API returns them - seen from user coinApiInformation = apiContext.GetCoinInformation(UserAgent.AgentString).GroupBy(c => c.Symbol).Select(g => g.First()).ToList(); successfulApiContext = apiContext; ApplyCoinInformationToViewModel(); } catch (Exception ex) { //don't crash if website cannot be resolved or JSON cannot be parsed if ((ex is WebException) || (ex is InvalidCastException) || (ex is FormatException) || (ex is CoinApiException) || (ex is JsonReaderException)) { if (applicationConfiguration.ShowApiErrors) ShowCoinApiErrorNotification(apiContext, ex); return false; } throw; } return true; }
private bool ApplyCoinInformationToViewModel(IApiContext apiContext) { try { coinApiInformation = apiContext.GetCoinInformation(UserAgent.AgentString).ToList(); successfulApiContext = apiContext; ApplyCoinInformationToViewModel(); } catch (Exception ex) { //don't crash if website cannot be resolved or JSON cannot be parsed if ((ex is WebException) || (ex is InvalidCastException) || (ex is FormatException) || (ex is CoinApiException) || (ex is JsonReaderException)) { if (applicationConfiguration.ShowApiErrors) ShowCoinApiErrorNotification(apiContext, ex); return false; } throw; } return true; }