private static void SetExchangeRates(string data) { try { var exchange = JsonConvert.DeserializeObject <ExchangeRateJson>(data); if (exchange?.exchanges_fiat == null || exchange.exchanges == null) { return; } foreach (var exchangePair in exchange.exchanges) { if (!exchangePair.TryGetValue("coin", out var coin) || coin != "BTC" || !exchangePair.TryGetValue("USD", out var usd) || !double.TryParse(usd, NumberStyles.Float, CultureInfo.InvariantCulture, out var usdD)) { continue; } ExchangeRateApi.UsdBtcRate = usdD; break; } ExchangeRateApi.UpdateExchangesFiat(exchange.exchanges_fiat); OnExchangeUpdate?.Invoke(null, EventArgs.Empty); } catch (Exception e) { NHM.Common.Logger.Error("SOCKET", $"SetExchangeRates error: {e.Message}"); } }
private static Task SetExchangeRates(string origdata) { var completed = Task.Delay(0); try { dynamic message = JsonConvert.DeserializeObject(origdata); string data = message.data.Value; var exchange = JsonConvert.DeserializeObject <ExchangeRateJson>(data); if (exchange?.exchanges_fiat == null || exchange.exchanges == null) { return(completed); } foreach (var exchangePair in exchange.exchanges) { if (!exchangePair.TryGetValue("coin", out var coin) || coin != "BTC" || !exchangePair.TryGetValue("USD", out var usd) || !double.TryParse(usd, NumberStyles.Float, CultureInfo.InvariantCulture, out var usdD)) { continue; } ExchangeRateApi.UsdBtcRate = usdD; break; } ExchangeRateApi.UpdateExchangesFiat(exchange.exchanges_fiat); // TODO check where and why we have this ApplicationStateManager.OnExchangeUpdated(); } catch (Exception e) { NHLog.Error("NHWebSocket", $"SetExchangeRates error: {e.Message}"); } return(completed); }