private BloombergApiAdaptor CreateBloombergApiAdaptor() { var sharedContext = new MarketDataContext(authenticationStrategy: AuthenticationStrategy, staticConfigurationLayer: Config); var statusList = sharedContext.GetConnectionStatus() .Where(si => si.ServerGroup.ServerType != ServerType.Platform) .ToArray(); _connectionStatus = statusList .Select(si => BPipeConnectionStatus.NotStarted) .ToArray(); _allDisposables = new CompositeDisposable(); var count = 0; foreach (var ci in statusList) { int idx = count++; _allDisposables.Add( ci.Subscribe(c => { _connectionStatus[idx] = c; if (_connectionStatus.All(s => s == BPipeConnectionStatus.Disconnected)) { _initialized = false; Dispose(); } }) ); _statusSubject.OnNext(ci); } var adaptor = sharedContext.CreateBloombergApiAdaptor(); _allDisposables.Add(adaptor); _allDisposables.Add(sharedContext); return(adaptor); }
public ExchangeMarketRepository(MarketDataContext dbContext) : base(dbContext) { }
public CurrencyRepository(MarketDataContext dbContext) : base(dbContext) { }
public MarketRepository(MarketDataContext dbContext) : base(dbContext) { }
public Repository(MarketDataContext dbContext) { _dbContext = dbContext; }