private void UpdateMarketRealTimeQuotes(string providerName, string marketName, string data) { Configs_Market marketConfigs = this.dbcontext.GetMarketConfig(marketName); LOG.Log($">>> MARKET Configs: {marketConfigs.Name}|{marketConfigs.LastSync}|{marketConfigs.NextSync}|{marketConfigs.UTCOffset}|{marketConfigs.QuotesUpdatesActive}|"); DateTime date = DateTime.UtcNow.AddHours(marketConfigs.UTCOffset); if (Configs_Market.QuoteUpdateAvailabe(marketConfigs, this.dbcontext.IsHoliday, date)) { QuotesProvider quotesProvider = QuotesProvider.GetQuotesProviderInstance(providerName); Tuple <List <IRealTimeQuote>, List <IHistoricalQuote> > quotes = quotesProvider.GetQuotesFromJson(data); this.dbcontext.SaveRealTimeQuoteV1(quotes.Item1); this.dbcontext.SaveHistoricalQuoteV1(quotes.Item2); this.dbcontext.UpdateConfig($"{marketName}_LastSync", date.ToString()); } this.dbcontext.UpdateConfig($"{marketName}_NextSync", date.AddMinutes(15).ToString()); }
public IAtomixApp Start() { if (HasTerminal && HasAccount) // now client can connect only with authorization by wallet { Terminal.StartAsync().FireAndForget(); } if (HasQuotesProvider) { QuotesProvider.Start(); } if (HasOrderBooksProvider) { OrderBooksProvider.Start(); } return(this); }
public IAtomixApp Stop() { if (HasTerminal) { Terminal.StopAsync().FireAndForget(); } if (HasQuotesProvider) { QuotesProvider.Stop(); } if (HasOrderBooksProvider) { OrderBooksProvider.Stop(); } return(this); }
public QuotesProviderTests() { sut = new QuotesProvider(contentProvider); }