/// <summary> /// Injecte un contrat au sein d'un gestionnaire adapté et retourne l'observable /// de finalisation. /// </summary> /// <typeparam name="TContract">Type de contrat injecté.</typeparam> /// <param name="contract">Contrat injecté.</param> /// <param name="manager">Gestionnaire utilisé.</param> /// <param name="postback">Actions complémentaires.</param> /// <param name="async">Mode asynchrone.</param> /// <returns>Observable correspondant.</returns> private IObservable <ContractResult> Run <TContract>(TContract contract, IContractManager <TContract> manager, Action <QuickProcess> postback, bool async) where TContract : IContract { // Gestion du statut if (CurrentStatus != ContractStatus.RUNNING) { throw new EngineException("Processes piling can only be done inside of an 'Execute()' treatment"); } // Gestion de l'observable if (!async) { SubProcesses.Add(contract); } // Gestion du retour if (postback != null) { contract.OnFinalized.Subscribe((result) => { var sub = new QuickProcess(Engine, postback); Engine.ProcessManager.Inject(sub); }); } // Injection et renvoi manager.Inject(contract); return(contract.OnFinalized); }
private MainViewModel GetVm() { MainViewModel.IsUnitTesting = true; _ibClient = new IBClient(new EReaderMonitorSignal()); _connectionService = Substitute.For <IConnectionService>(); _orderManager = Substitute.For <IOrderManager>(); _accountManager = Substitute.For <IAccountManager>(); _contractManager = Substitute.For <IContractManager>(); _marketDataManager = Substitute.For <IMarketDataManager>(); _historicalDataManager = Substitute.For <IHistoricalDataManager>(); _orderCalculationService = Substitute.For <IOrderCalculationService>(); _exchangeRateService = Substitute.For <IExchangeRateService>(); _tradeRepository = Substitute.For <ITradeRepository>(); var orderManager = Substitute.For <IOrderManager>(); _ordersViewModel = new OrdersViewModel(_contractManager, _marketDataManager, _historicalDataManager, _orderCalculationService, orderManager, _tradeRepository); _statusBarViewModel = Substitute.For <StatusBarViewModel>(); var positionsManager = Substitute.For <IPositionManager>(); var contractManager = Substitute.For <IContractManager>(); var positionsViewModel = new PositionsViewModel(_marketDataManager, _accountManager, positionsManager, contractManager); var detailsViewModel = new DetailsViewModel(); _settingsViewModel = new SettingsViewModel(); return(new MainViewModel(_ibClient, _connectionService, _orderManager, _accountManager, _ordersViewModel, _statusBarViewModel, _historicalDataManager, _exchangeRateService, _orderCalculationService, positionsViewModel, detailsViewModel, _settingsViewModel)); }
/// <summary> /// Construct the .Net API Controller for managing contracts. /// </summary> /// <param name="contractManager">The contract manager service.</param> public ContractManagerController(IContractManager contractManager) { if (contractManager is null) { throw new ArgumentNullException(nameof(contractManager)); } _contractManager = contractManager; }
public FindSymbolService( IMarketDataManager marketDataManager, IHistoricalDataManager historicalDataManager, IContractManager contractManager) { _marketDataManager = marketDataManager; _historicalDataManager = historicalDataManager; _contractManager = contractManager; }
public BpmnSynchronizer( IBpmnEventHandler bpmnEventHandler, IProcessManager processManager, IContractManager contractManager, EditElementService editElementService, IJSRuntime jsRuntime) { _bpmnEventHandler = bpmnEventHandler; _processManager = processManager; _editElementService = editElementService; _contractManager = contractManager; _jsRuntime = jsRuntime; }
private PositionsViewModel GetVm( IMarketDataManager marketDataManager = null, IPositionManager positionManager = null, IContractManager contractManager = null, ITradeRecordingService tradeRecordingService = null) { var manager = marketDataManager ?? Substitute.For <IMarketDataManager>(); _accountManager = Substitute.For <IAccountManager>(); if (positionManager == null) { positionManager = Substitute.For <IPositionManager>(); positionManager.RequestOpenOrdersAsync().Returns(Task.FromResult(new List <OpenOrderEventArgs>())); } if (contractManager == null) { contractManager = Substitute.For <IContractManager>(); contractManager.RequestDetailsAsync(Arg.Any <Contract>()).Returns(Task.FromResult(new List <ContractDetails>())); } var queueProcessor = Substitute.For <IQueueProcessor>(); queueProcessor .When(x => x.Enqueue(Arg.Any <Action>())) .Do(x => { var action = x.Arg <Action>(); action.Invoke(); }); var dispatcherHelper = Substitute.For <IDispatcherHelper>(); dispatcherHelper .When(x => x.InvokeOnUiThread(Arg.Any <Action>())) .Do(x => { var action = x.Arg <Action>(); action.Invoke(); }); if (tradeRecordingService == null) { tradeRecordingService = Substitute.For <ITradeRecordingService>(); } return(new PositionsViewModel(dispatcherHelper, manager, _accountManager, positionManager, contractManager, queueProcessor, tradeRecordingService)); }
private PositionsViewModel GetPositionForSymbolTest( PositionItem item, IMarketDataManager marketDataManager = null, IPositionManager positionManager = null, IContractManager contractManager = null) { var vm = GetVm(marketDataManager, positionManager, contractManager); var positions = new List <PositionItem> { item }; // Act _accountManager.RequestPositionsAsync().Returns(positions); return(vm); }
public PositionsViewModel( IDispatcherHelper dispatcherHelper, IMarketDataManager marketDataManager, IAccountManager accountManager, IPositionManager positionManager, IContractManager contractManager, IQueueProcessor queueProcessor, ITradeRecordingService tradeRecordingService) : base(dispatcherHelper, queueProcessor) { Positions = new ObservableCollectionNoReset <PositionItem>(dispatcherHelper: DispatcherHelper); Messenger.Default.Register <ConnectionChangingMessage>(this, HandleConnectionChangingMessage); Messenger.Default.Register <OrderStatusChangedMessage>(this, OrderStatusChangedMessage.Tokens.Positions, OnOrderStatusChangedMessage); Messenger.Default.Register <BarPriceMessage>(this, HandleBarPriceMessage); _marketDataManager = marketDataManager; _accountManager = accountManager; _positionManager = positionManager; _contractManager = contractManager; _queueProcessor = queueProcessor; _tradeRecordingService = tradeRecordingService; }
public ContractController(IConfiguration configuration, IContractManager contractManager) { _configuration = configuration; _contractManager = contractManager; }
public SheetsController(IMapper mapper, ISheetManager sheetManager, IContractManager contractManager) { _sheetManager = sheetManager; _contractManager = contractManager; _mapper = mapper; }
public ContractController(IContractManager contractManager) { ContractManager = contractManager; }
public UnassignRoleCommand(IContractManager contractManager, ProcessRole assignedRole, Select2 <ProcessRole> roleSelect) : base(contractManager) { AssignedRole = assignedRole; RoleSelect = roleSelect; }
public RemoveUserCommand(IContractManager contractManager, ProcessUser removedUser) : base(contractManager) { RemovedUser = removedUser; }
public AddRoleCommand(IContractManager contractManager) : base(contractManager) { }
public UsersRolesManager(IContractManager contractManager) { _contractManager = contractManager; }
public ContractsController(IContractManager manager) { _manager = manager; }
public ContractCommand(IContractManager contractManager) { ContractManager = contractManager; }
public ProcessManager(IContractManager contractManager) { _contractManager = contractManager; }
public InvoicesController(IInvoiceManager invoiceManager, IContractManager contractManager) { _invoiceManager = invoiceManager; _contractManager = contractManager; }
public InvoiceController(IMapper mapper, IInvoiceManager invoiceManager, IContractManager contractManager) { _invoiceManager = invoiceManager; _contractManager = contractManager; _mapper = mapper; }
public SheetsController(ISheetManager sheetManager, IContractManager contractManager) { _sheetManager = sheetManager; _contractManager = contractManager; }
public RemoveRoleCommand(IContractManager contractManager, ProcessRole removedRole, IEnumerable <Select2 <ProcessRole> > roleContainers) : base(contractManager) { RoleContainers = roleContainers; RemovedRole = removedRole; }
public AddUserCommand(IContractManager contractManager) : base(contractManager) { }