public void Initialize(string username, string[] servers, ILoggerFactory loggerFactory = null, string authToken = null) { _loggerFactory = loggerFactory ?? new DebugLoggerFactory(); _log = _loggerFactory.Create(typeof(ReactiveTrader)); _connectionProvider = new ConnectionProvider(username, servers, _loggerFactory); var referenceDataServiceClient = new ReferenceDataServiceClient(_connectionProvider, _loggerFactory); var executionServiceClient = new ExecutionServiceClient(_connectionProvider); var blotterServiceClient = new BlotterServiceClient(_connectionProvider, _loggerFactory); var pricingServiceClient = new PricingServiceClient(_connectionProvider, _loggerFactory); PricingServiceClient = pricingServiceClient; if (authToken != null) { var controlServiceClient = new ControlServiceClient(new AuthTokenProvider(authToken), _connectionProvider, _loggerFactory); _controlRepository = new ControlRepository(controlServiceClient); } PriceLatencyRecorder = new PriceLatencyRecorder(); var concurrencyService = new ConcurrencyService(); var tradeFactory = new TradeFactory(); var executionRepository = new ExecutionRepository(executionServiceClient, tradeFactory, concurrencyService); var priceFactory = new PriceFactory(executionRepository, PriceLatencyRecorder); var priceRepository = new PriceRepository(pricingServiceClient, priceFactory, _loggerFactory); var currencyPairUpdateFactory = new CurrencyPairUpdateFactory(priceRepository); TradeRepository = new TradeRepository(blotterServiceClient, tradeFactory); ReferenceData = new ReferenceDataRepository(referenceDataServiceClient, currencyPairUpdateFactory); }
public void Initialize(IObservable<PriceDto> priceStream, ICurrencyPair currencyPair) { _loggerFactory = new DebugLoggerFactory(); var pricingServiceClient = new WatchPricingServiceClient(priceStream); var priceFactory = new PriceFactory(new WatchExecutionRepository(), new PriceLatencyRecorder()); var priceRepository = new PriceRepository(pricingServiceClient, priceFactory, _loggerFactory); PriceStream = priceRepository.GetPriceStream(currencyPair); }
public void Initialize(string username, string[] servers) { _connectionProvider = new ConnectionProvider(username, servers); var referenceDataServiceClient = new ReferenceDataServiceClient(_connectionProvider); var executionServiceClient = new ExecutionServiceClient(_connectionProvider); var blotterServiceClient = new BlotterServiceClient(_connectionProvider); var pricingServiceClient = new PricingServiceClient(_connectionProvider); PriceLatencyRecorder = new PriceLatencyRecorder(); var concurrencyService = new ConcurrencyService(); var tradeFactory = new TradeFactory(); var executionRepository = new ExecutionRepository(executionServiceClient, tradeFactory, concurrencyService); var priceFactory = new PriceFactory(executionRepository, PriceLatencyRecorder); var priceRepository = new PriceRepository(pricingServiceClient, priceFactory); var currencyPairUpdateFactory = new CurrencyPairUpdateFactory(priceRepository); TradeRepository = new TradeRepository(blotterServiceClient, tradeFactory); ReferenceData = new ReferenceDataRepository(referenceDataServiceClient, currencyPairUpdateFactory); }