public async Task GetPrices() { var prices = await _api.GetPricesAsync(); Assert.NotNull(prices); Assert.NotEmpty(prices); }
/// <summary> /// Get all symbols. /// </summary> /// <param name="api"></param> /// <param name="token"></param> /// <returns></returns> public static async Task <IEnumerable <string> > SymbolsAsync(this IBinanceApi api, CancellationToken token = default) { Throw.IfNull(api, nameof(api)); return((await api.GetPricesAsync(token).ConfigureAwait(false)) .Select(p => p.Symbol)); }
private async Task <ImmutableDictionary <string, decimal> > InitializeSymbolPrices() { try { var symbolPrices = await _binanceApi.GetPricesAsync(); var immutableSymbolPrices = symbolPrices.ToImmutableList(); var immutablePrices = symbolPrices.ToImmutableDictionary(s => s.Symbol, s => s.Value); _cache.SetSymbolPrices(immutablePrices); foreach (var symbolPrice in immutableSymbolPrices) { _cache.SetSymbolPrice(symbolPrice.Symbol, symbolPrice.Value); } return(immutablePrices); } catch (Exception ex) { _cache.ClearSymbolPrices(); _log.LogError($"Symbol Prices initialization error {ex.Message}"); return(new Dictionary <string, decimal>().ToImmutableDictionary()); } }
private async Task <ImmutableDictionary <string, decimal> > InitializeSymbolPrices() { var symbolPrices = await _binanceApi.GetPricesAsync(); var immutablePrices = symbolPrices.ToImmutableDictionary(s => s.Symbol, s => s.Value); _cache.SetSymbolPrices(immutablePrices); return(immutablePrices); }