public AccountProxy(Dispatcher dispatcher, IAccountInternal internalAccount, IOrdersStorage ordersStorage, IExecutionsStorage executionsStorage, IPositionsStorage positionsStorage) { this.dispatcher = dispatcher; this.internalAccount = internalAccount; this.ordersStorage = ordersStorage; this.executionsStorage = executionsStorage; this.positionsStorage = positionsStorage; this.internalAccount.AccountChanged += this.OnAccountChanged; this.accountChangedEvent = this.dispatcher.RegisterEvent(); }
public PositionsStorageProxy(IPositionsStorage positionsStorage, Dispatcher dispatcher, ProxiesFactory proxiesFactory) { Contract.Requires(positionsStorage != null); Contract.Requires(dispatcher != null); Contract.Requires(proxiesFactory != null); this.dispatcher = dispatcher; this.proxiesFactory = proxiesFactory; this.positionAddedEvent = dispatcher.RegisterEvent(); positionsStorage.PositionAdded += this.OnPositionAdded; this.positions = positionsStorage.Positions.Select(proxiesFactory.CreatePositionProxy).ToList(); }
private IPositionsStorage CreatePositionsStorage(IPositionsStorage positionsStorage) { return new PositionsStorageProxy(positionsStorage, this.dispatcher, this); }