/// <summary> /// Initializes a new instance of the <see cref="SmartOrderRoutingEngine"/> class. /// </summary> /// <param name="marketsProvider">The markets provider.</param> /// <param name="routeOrders">The order routing.</param> /// <param name="marketDataProvider">The market data provider.</param> public SmartOrderRoutingEngine(IProvideMarkets marketsProvider, ICanRouteOrders routeOrders, ICanReceiveMarketData marketDataProvider) { this.routeOrders = routeOrders; var availableMarkets = marketsProvider.GetAvailableMarketNames(); this.marketSnapshotProvider = new MarketSnapshotProvider(availableMarkets, marketDataProvider); }
public SmartOrderRoutingEngine(IProvideMarkets provideMarkets, ICanRouteOrders canRouteOrders, ICanReceiveMarketData canReceiveMarketData) { this.provideMarkets = provideMarkets; this.canRouteOrders = canRouteOrders; this.canReceiveMarketData = canReceiveMarketData; var availableMarkets = provideMarkets.GetAvailableMarkets(); this.markets = availableMarkets.ToDictionary(market => market, market => market); this.marketSnapshotProvider = new MarketSnapshotProvider(availableMarkets, canReceiveMarketData); }