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());
            }
        }
Exemplo n.º 2
0
        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);
        }