public static long GetSIDFromName(string name) { try { long SID = 0; if (!_nameToSIDCache.TryGetValue(name, out SID)) { var nameToSID = new MarketDataDatabase().GetSIDFromName(new string[] { name }); if (nameToSID != null && nameToSID.Count > 0) { foreach (var pair in nameToSID) { if (!string.IsNullOrWhiteSpace(pair.Key)) { _nameToSIDCache[pair.Key] = pair.Value; } } } if (!_nameToSIDCache.TryGetValue(name, out SID)) { SID = -1; } } return(SID); } catch (Exception ex) { _Logger.Error(ex); throw ex; } }
public IDictionary <string, CryptoBar> GetLatestCryptoHistoryPrices(string[] symbols, string market, BarFrequency frequency, string datasource) { if (symbols == null || symbols.Length == 0 || string.IsNullOrEmpty(market)) { return(null); } IDictionary <string, CryptoBar> output = null; try { if (string.IsNullOrEmpty(datasource)) { datasource = DATASOURCE_DEFAULT; } datasource = datasource.Trim().ToLower(); if (datasource == DATASOURCE_ALPHAVANTAGE) { output = new MarketDataDatabase().VA_GetLatestCryptoPrices(symbols, market, frequency); } } catch (Exception ex) { _Logger.Error(ex); throw ex; } return(output); }
public IDictionary <string, StockBar> GetLatestStockHistoryPrices(string[] symbols, BarFrequency frequency, bool isAdjustedValue, string datasource) { if (symbols == null || symbols.Length == 0) { return(null); } IDictionary <string, StockBar> output = null; try { if (string.IsNullOrEmpty(datasource)) { datasource = DATASOURCE_DEFAULT; } datasource = datasource.Trim().ToLower(); if (datasource == DATASOURCE_ALPHAVANTAGE) { output = new MarketDataDatabase().VA_GetLatestStockPrices(symbols, frequency, isAdjustedValue); } } catch (Exception ex) { _Logger.Error(ex); throw ex; } return(output); }
static Dictionary <string, TVCSymbolResponse> GetTVCSymbolsFromDB(IEnumerable <string> symbols) { MarketDataDatabase marketData = new MarketDataDatabase(); TVCSymbolResponse[] responses = marketData.TVC_GetSymbolList(symbols); if (responses != null) { return(responses.ToDictionary(k => k.name, v => v)); } else { return(new Dictionary <string, TVCSymbolResponse>()); } }
static void StoreTVCSymbols(IEnumerable <TVCSymbolResponse> symbols) { Task.Factory.StartNew(() => { try { MarketDataDatabase marketData = new MarketDataDatabase(); marketData.TVC_StoreSymbolList(symbols); } catch (Exception ex) { _Logger.Error(ex); } }); }
static void StoreTVCQuotes(IEnumerable <TVCQuoteResponse> quotes) { Task.Factory.StartNew(() => { try { MarketDataDatabase marketData = new MarketDataDatabase(); marketData.TVC_StoreQuotes(quotes); } catch (Exception ex) { _Logger.Error(ex); } }); }
private static void InitializeNameToSIDCache() { try { IDictionary <long, string> map = new MarketDataDatabase().GetSIDToNameMapping(); foreach (var pair in map) { if (!string.IsNullOrWhiteSpace(pair.Value)) { _nameToSIDCache[pair.Value] = pair.Key; } } } catch (Exception ex) { _Logger.Error(ex); } }
protected void RefreshCache() { if ((DateTime.Now - _calendarCacheLastUpdate).TotalDays > 1) { var newHolidayCache = new MarketDataDatabase().TVC_GetHolidays(null, null, null); if (newHolidayCache != null) { _holidayCache = new ConcurrentDictionary <string, TVCCalendar[]>(); foreach (var holiday in newHolidayCache) { _holidayCache[holiday.Key] = holiday.Value; } UpdateMarketOpenDays(); UpdateMarketOpenMins(); } } }