private async Task DoUpdateMarketCoins() { if (FLastMarketCoinsRetrieval == DateTime.MinValue || FLastMarketCoinsRetrieval < DateTime.UtcNow.AddHours(-1)) { using (PoloniexClient lClient = new PoloniexClient()) { var lResponse = await lClient.GetTickerMarketsAsync(); if (!lResponse.Success) { throw new Exception("Failed to retrieve Markets"); } FCacheMarkets.Clear(); foreach (var lPair in lResponse.Data) { FCacheMarkets.TryAdd(lPair.Key, lPair.Value); } FLastMarketCoinsRetrieval = DateTime.UtcNow; } } FLocalCacheOfMarkets.Clear(); }