public SimulationTypeManager(ILogger logger,
                                     IAppConfigurationManager configurationManager,
                                     IDiagnosticManager diagnosticManager,
                                     IMarketDataManager marketDataManager,
                                     INotificationManager notificationManager,
                                     ICalendarRebalanceScheduleManager rebalanceScheduleManager)
        {
            _account             = configurationManager.GetAccount();
            _logger              = logger;
            _diagnosticManager   = diagnosticManager;
            _notificationManager = notificationManager;
            _marketDataManager   = marketDataManager;
            _calendarRebalanceScheduleManager = rebalanceScheduleManager;

            var containerBuilder = new ContainerBuilder();

            containerBuilder.Register <IDiagnosticManager>(x => _diagnosticManager).SingleInstance();
            containerBuilder.Register <IMarketDataManager>(x => _marketDataManager).SingleInstance();
            containerBuilder.Register <INotificationManager>(x => _notificationManager).SingleInstance();
            containerBuilder.Register <ICalendarRebalanceScheduleManager>(x => _calendarRebalanceScheduleManager).SingleInstance();
            containerBuilder.Register <IAppConfigurationManager>(x => configurationManager).SingleInstance();
            containerBuilder.Register <ILogger>(x => _logger).SingleInstance();

            containerBuilder.RegisterType <RebalanceSimulationManager>().As <ISimulationManager, IRebalanceSimulationManager>().SingleInstance();
            containerBuilder.RegisterType <BuyAndHoldSimulationManager>().As <ISimulationManager, IBuyAndHoldSimulationManager>().SingleInstance();

            _container = containerBuilder.Build();
        }
예제 #2
0
 public DiagnosticService(
     ILogger <DiagnosticService> logger,
     IDiagnosticManager diagnosticManager,
     IEnumerable <IDiagnosticObserver> diagnosticObservers)
 {
     _logger              = logger;
     _diagnosticManager   = diagnosticManager;
     _diagnosticObservers = diagnosticObservers;
 }
예제 #3
0
        public BuyAndHoldSimulationManager(ILogger logger, IAppConfigurationManager configurationManager, IMarketDataManager marketDataManager, INotificationManager notificationManager, IDiagnosticManager diagnosticManager)
        {
            _logger              = logger;
            _account             = configurationManager.GetAccount();
            _marketDataManager   = marketDataManager;
            _notificationManager = notificationManager;
            _diagnosticManager   = diagnosticManager;

            _notificationManager.SimulationEnded += NotificationManager_SimulationEnded;
        }
예제 #4
0
        public RebalanceSimulationManager(ILogger logger,
                                          IAppConfigurationManager configurationManager,
                                          IDiagnosticManager diagnosticManager,
                                          IMarketDataManager marketDataManager,
                                          INotificationManager notificationManager,
                                          ICalendarRebalanceScheduleManager rebalanceScheduleManager)
        {
            _calendarRebalanceScheduleManager = rebalanceScheduleManager;
            _diagnosticManager   = diagnosticManager;
            _marketDataManager   = marketDataManager;
            _account             = configurationManager.GetAccount();
            _notificationManager = notificationManager;
            _logger = logger;

            _notificationManager.SimulationEnded += NotificationManager_SimulationEnded;
        }
예제 #5
0
 public DiagnosticController(IDiagnosticManager manager)
 {
     diagnosticManager = manager;
 }