private static void SetExchangeRates(string data) { try { var exchange = JsonConvert.DeserializeObject <ExchangeRateJson>(data); if (exchange?.exchanges_fiat != null && exchange.exchanges != null) { 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)) { ExchangeRateApi.UsdBtcRate = usdD; break; } } ExchangeRateApi.UpdateExchangesFiat(exchange.exchanges_fiat); OnExchangeUpdate?.Invoke(null, EventArgs.Empty); } } catch (Exception e) { Helpers.ConsolePrint("SOCKET", e.ToString()); } }
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 void SetExchangeRates(string data) { NiceHashExchange exchange = null; try { exchange = JsonConvert.DeserializeObject <NiceHashExchange>(data); } catch { } if (exchange?.exchanges != null) { foreach (var ex in exchange.exchanges) { if (!ex.ContainsKey("USD") || !ex.ContainsKey("coin") || ex["coin"] != "BTC") { continue; } if (double.TryParse(ex["USD"], out var val)) { ExchangeRateApi.UsdBtcRate = val; } } } if (exchange?.exchanges_fiat != null) { ExchangeRateApi.ExchangesFiat = exchange.exchanges_fiat; } OnExchangeUpdate.Emit(null, EventArgs.Empty); }
internal void UpdateExchangesFiat(double usdBtcRate, Dictionary <string, double> newExchanges) { UsdBtcRate = usdBtcRate; if (newExchanges != null) { _fiatCurrencyKeys = newExchanges.Keys.ToList(); _fiatCurrencyKeys.Add("USD"); _fiatCurrencyKeys.Sort(); OnPropertyChanged(nameof(HasFiatCurrencyOptions)); OnPropertyChanged(nameof(FiatCurrencyOptions)); //OnPropertyChanged(nameof(SelectedFiatCurrency)); // ???? foreach (var key in newExchanges.Keys) { ExchangesFiat.AddOrUpdate(key, newExchanges[key], (k, v) => newExchanges[k]); } } CalculateFiatBalance(); // trigger property changed for all fiat related stuff OnExchangeUpdate?.Invoke(this, EventArgs.Empty); }
public static void OnExchangeUpdated() { OnExchangeUpdate?.Invoke(null, EventArgs.Empty); }