public Account(string name, IConnection connection, IApiObjectsFactory factory, IExecutionStorageInternal executionStorage, IPositionsStorageInternal positionsesStorageInternal, IOrdersStorageInternal ordersStorageInternal, IIdsDispenser idsDispenser, CancellationTokenSource internalCancelationTokenSource, AccountCurrenciesFields accountCurrenciesFields) { CodeContract.Requires(!string.IsNullOrEmpty(name)); CodeContract.Requires(connection != null); CodeContract.Requires(factory != null); CodeContract.Requires(executionStorage != null); CodeContract.Requires(positionsesStorageInternal != null); CodeContract.Requires(ordersStorageInternal != null); CodeContract.Requires(accountCurrenciesFields != null); CodeContract.Requires(idsDispenser != null); this.AccountName = name; this.AccountId = name; this.factory = factory; this.executionStorage = executionStorage; this.positionsesStorage = positionsesStorageInternal; this.ordersStorage = ordersStorageInternal; this.accountCurrenciesFields = accountCurrenciesFields; this.idsDispenser = idsDispenser; this.internalCancelationTokenSource = internalCancelationTokenSource; this.subscription = connection.Subscribe((AccountValueMessage message) => message.AccountName == this.AccountName, this.OnAccountValueMessage); }
public IAccountInternal CreateAccount(string accountName, IExecutionStorageInternal executionStorage, IPositionsStorageInternal positionsStorage, IOrdersStorageInternal ordersStorage, AccountCurrenciesFields accountCurrenciesFields) { return new Account(accountName, this.connection, this, executionStorage, positionsStorage, ordersStorage, this.idsDispenser, this.internalCancellationTokenSource, accountCurrenciesFields); }
public CreateAccountOperation(IConnection connection, IApiObjectsFactory factory, string account, CancellationToken cancellationToken) { Contract.Requires(connection != null); Contract.Requires(factory != null); Contract.Requires(!string.IsNullOrEmpty(account)); this.factory = factory; this.account = account; this.cancellationToken = cancellationToken; this.cancellationToken.Register(() => this.taskCompletionSource.TrySetCanceled()); this.positionStorage = this.factory.CreatePositionStorage(account); this.ordersStorage = this.factory.CreateOrdersStorage(account); this.createExecutionsStorage = factory.CreateExecutionStorageOperation(account, cancellationToken); this.Subscribe(connection); this.SendRequest(connection); }