예제 #1
0
 /// <summary>Create and prepare a new class instance.</summary>
 /// <param name="dataAccess">
 /// Data Access specifies a <see cref="DataAccess"/> instance and must not be
 /// null...</param>
 /// <param name="eventLogger">
 /// Event Logger specifies a <see cref="EventLoggerAccess"/> instance and must not be
 /// null...</param>
 /// <exception cref="ArgumentNullException">
 /// If either <paramref name="dataAccess"/> or <paramref name="eventLogger"/> specifies
 /// null, an exception is thrown.</exception>
 public BusinessManager(DataAccess dataAccess, EventLoggerAccess eventLogger)
 {
     if (/*invalid?*/ eventLogger == null)
         throw new ArgumentNullException(ClassName + " EventLoggerAccess reference argument (eventLogger) must not be null");
     Logger = eventLogger;
     if (/*invalid?*/ dataAccess == null)
         throw new ArgumentNullException(ClassName + " DataAccess reference argument (dataAccess) must not be null");
     StatusManagerReference = new StatusManager(dataAccess, eventLogger);
     RequestManagerReference = new RequestManager(dataAccess, StatusManagerReference, eventLogger);
 }
예제 #2
0
        public BusinessManager(DetectorsDataAccess dataAccess, EventLoggerAccess log)
        {
            _dataAccess = dataAccess;
            _log = log;

            _statusManager = new DetectorsStatusManager(dataAccess, log);
            _requestManager = new RequestManager(dataAccess, (StatusManager)_statusManager, log);

            log.LogInfo("Using calibration: " + AppConfiguration.CalibrationMode.ToString());
            if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.Inline)
                _calibration = new CalibrationInline(log, _dataAccess, _statusManager);
            else if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.Persistent)
                _calibration = new CalibrationPersistent(log, _dataAccess, _statusManager);
            else if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.InlineStandstill)
                _calibration = new CalibrationInline(log, _dataAccess, _statusManager);
            _normalize = new NormalizeData(log, dataAccess, _calibration);

            _processThread = Threads.Create(ProcessDataThreadMethod, ref _processEnd, "Business Data thread");
            _processThread.Start();
        }
예제 #3
0
 public BusinessManager (DataAccess dataAccess, EventLoggerAccess logger)
 {
     _StatusManager = new StatusManager(dataAccess, logger);
     _RequestManager = new RequestManager(dataAccess, _StatusManager, logger);
 }