Example #1
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="settings">アプリケーション設定</param>
 public QueuePolly(UtilityAppSettings settings)
 {
     this.settings    = settings;
     this.retryPolicy =
         Policy.Handle <Exception>()
         .WaitAndRetry(settings.AlarmQueueAccessMaxAttempts, retryCount => TimeSpan.FromSeconds(retryCount * settings.AlarmQueueDelayDeltaSeconds));
 }
Example #2
0
        /// <summary>
        /// DIを実行する
        /// </summary>
        /// <param name="appSettings">アプリケーション設定を上書きする場合は指定する</param>
        /// <param name="testLogs">ログの格納先</param>
        /// <param name="exceptionType">DbCleanerServiceのモックに例外をスローさせる場合そのタイプを指定する。DbCleanerServiceのモックを使用しない場合はnullを指定する</param>
        private void DependencyInjection(Dictionary <string, string> appSettings = null, List <TestLog> testLogs = null, Type exceptionType = null)
        {
            var builder = new TestDiProviderBuilder <UtilityAppSettings>(FunctionsHostBuilderExtend.AddUtility);

            builder.ServiceCollection.AddTransient <DbCleanController>();
            if (exceptionType != null)
            {
                Exception exception = Activator.CreateInstance(exceptionType) as Exception;
                builder.ServiceCollection.AddTransient <Rms.Server.Core.Service.Services.ICleanDbService>(x => new ErrorCleanDbService(exception));
            }

            builder.AddConfigures(appSettings);

            Mock <DateTimeProvider> timeProviderMock = new Mock <DateTimeProvider>();

            timeProviderMock.SetupGet(tp => tp.UtcNow).Returns(TestTime);
            builder.ServiceCollection.AddSingleton <ITimeProvider>(timeProviderMock.Object);

            if (testLogs != null)
            {
                builder.ServiceCollection.AddSingleton <ILogger <CleanDbService> >(new TestLogger <CleanDbService>(testLogs));
            }

            ServiceProvider provider = builder.Build();

            settings = provider.GetService <UtilityAppSettings>() as UtilityAppSettings;
            target   = provider.GetService <DbCleanController>();
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlmilogAnalysisResultRepository">アルミスロープログ解析判定結果リポジトリ</param>
        /// <param name="dtAlmilogAnalysisConfigRepository">アルミスロープログ解析設定リポジトリ</param>
        /// <param name="dtBloclogAnalysisConfigRepository">ムラログ解析設定リポジトリ</param>
        /// <param name="failureRepository">Failureストレージリポジトリ</param>
        public DipAlmiLogAnalyzerService(
            UtilityAppSettings settings,
            ILogger <DipAlmiLogAnalyzerService> logger,
            ITimeProvider timeProvider,
            IDtAlmilogAnalysisResultRepository dtAlmilogAnalysisResultRepository,
            IDtAlmilogAnalysisConfigRepository dtAlmilogAnalysisConfigRepository,
            IDtBloclogAnalysisConfigRepository dtBloclogAnalysisConfigRepository,
            IFailureRepository failureRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlmilogAnalysisResultRepository);
            Assert.IfNull(dtAlmilogAnalysisConfigRepository);
            Assert.IfNull(dtBloclogAnalysisConfigRepository);
            Assert.IfNull(failureRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlmilogAnalysisResultRepository = dtAlmilogAnalysisResultRepository;
            _dtAlmilogAnalysisConfigRepository = dtAlmilogAnalysisConfigRepository;
            _dtBloclogAnalysisConfigRepository = dtBloclogAnalysisConfigRepository;
            _failureRepository = failureRepository;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlarmSmartPremonitorRepository">ディスクドライブ予兆監視アラーム定義リポジトリ</param>
        /// <param name="dtSmartAnalysisResultRepository">SMART解析判定結果リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        /// <param name="failureRepository">Failureストレージリポジトリ</param>
        public DiskDrivePremonitorService(
            UtilityAppSettings settings,
            ILogger <DiskDrivePremonitorService> logger,
            ITimeProvider timeProvider,
            IDtAlarmSmartPremonitorRepository dtAlarmSmartPremonitorRepository,
            IDtSmartAnalysisResultRepository dtSmartAnalysisResultRepository,
            IQueueRepository queueRepository,
            IFailureRepository failureRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlarmSmartPremonitorRepository);
            Assert.IfNull(dtSmartAnalysisResultRepository);
            Assert.IfNull(queueRepository);
            Assert.IfNull(failureRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlarmSmartPremonitorRepository = dtAlarmSmartPremonitorRepository;
            _dtSmartAnalysisResultRepository  = dtSmartAnalysisResultRepository;
            _queueRepository   = queueRepository;
            _failureRepository = failureRepository;
        }
Example #5
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">インストール監視サービスクラス</param>
        public InstallMonitorController(UtilityAppSettings settings, IInstallMonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">パネル欠陥予兆監視サービスクラス</param>
        public PanelDefectPremonitorController(UtilityAppSettings settings, IPanelDefectPremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #7
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">親子間通信データテーブル監視サービスクラス</param>
        public ParentChildrenConnectionMonitorController(UtilityAppSettings settings, IParentChildrenConnectionMonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #8
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">骨塩アルミスロープログ予兆監視サービスクラス</param>
        public DipAlmiLogPremonitorControllerTest(UtilityAppSettings settings, IDipAlmiLogPremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #9
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">キャリブレーション予兆監視サービスクラス</param>
        public CalibrationPremonitorController(UtilityAppSettings settings, ICalibrationPremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #10
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">温度センサ監視サービスクラス</param>
        public TemperatureSensorMonitorController(UtilityAppSettings settings, ITemperatureSensorMonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #11
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">ディレクトリ使用量監視サービスクラス</param>
        public DirectoryUsageMonitorController(UtilityAppSettings settings, IDirectoryUsageMonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #12
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">パネル放電破壊予兆監視サービスクラス</param>
        public PanelDischargeBreakdownPremonitorController(UtilityAppSettings settings, IPanelDischargeBreakdownPremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #13
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">管球劣化予兆監視サービスクラス</param>
        public TubeDeteriorationPremonitorController(UtilityAppSettings settings, ITubeDeteriorationPremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #14
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">故障予兆監視サービスクラス</param>
        public FailurePremonitorController(UtilityAppSettings settings, IFailurePremonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="service">端末データテーブル監視サービスクラス</param>
        public DeviceConnectionMonitorController(UtilityAppSettings settings, IDeviceConnectionMonitorService service)
        {
            Assert.IfNull(settings);
            Assert.IfNull(service);

            _settings = settings;
            _service  = service;
        }
Example #16
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="logger">ロガー</param>
        /// <param name="queuePolly">キュー接続用のPolly</param>
        /// <param name="appSettings">アプリケーション設定</param>
        public QueueRepository(ILogger <QueueRepository> logger, QueuePolly queuePolly, UtilityAppSettings appSettings)
        {
            Assert.IfNull(logger);
            Assert.IfNull(queuePolly);
            Assert.IfNull(appSettings);

            _logger      = logger;
            _queuePolly  = queuePolly;
            _appSettings = appSettings;
        }
Example #17
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="parentChildrenConnectionService">親子間通信データテーブル監視サービスクラス</param>
        /// <param name="deviceConnectionService">端末データテーブル監視サービスクラス</param>
        public ConnectionMonitorControllerTest(UtilityAppSettings settings, IParentChildrenConnectionMonitorService parentChildrenConnectionService, IDeviceConnectionMonitorService deviceConnectionService)
        {
            Assert.IfNull(settings);
            Assert.IfNull(parentChildrenConnectionService);
            Assert.IfNull(deviceConnectionService);

            _settings = settings;
            _parentChildrenConnectionService = parentChildrenConnectionService;
            _deviceConnectionService         = deviceConnectionService;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtDeviceRepository">端末データテーブルリポジトリ</param>
        /// <param name="dtAlarmDefConnectionMonitorRepository">通信監視アラーム定義リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        public DeviceConnectionMonitorService(
            UtilityAppSettings settings,
            ILogger <DeviceConnectionMonitorService> logger,
            ITimeProvider timeProvider,
            IDtDeviceRepository dtDeviceRepository,
            IDtAlarmDefConnectionMonitorRepository dtAlarmDefConnectionMonitorRepository,
            IQueueRepository queueRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtDeviceRepository);
            Assert.IfNull(dtAlarmDefConnectionMonitorRepository);
            Assert.IfNull(queueRepository);

            _settings           = settings;
            _logger             = logger;
            _timeProvider       = timeProvider;
            _dtDeviceRepository = dtDeviceRepository;
            _dtAlarmDefConnectionMonitorRepository = dtAlarmDefConnectionMonitorRepository;
            _queueRepository = queueRepository;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlarmDefTemperatureSensorLogMonitorRepository">温度センサログ監視アラーム定義リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        /// <param name="failureRepository">Failureストレージリポジトリ</param>
        public TemperatureSensorMonitorService(
            UtilityAppSettings settings,
            ILogger <TemperatureSensorMonitorService> logger,
            ITimeProvider timeProvider,
            IDtAlarmDefTemperatureSensorLogMonitorRepository dtAlarmDefTemperatureSensorLogMonitorRepository,
            IQueueRepository queueRepository,
            IFailureRepository failureRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlarmDefTemperatureSensorLogMonitorRepository);
            Assert.IfNull(queueRepository);
            Assert.IfNull(failureRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlarmDefTemperatureSensorLogMonitorRepository = dtAlarmDefTemperatureSensorLogMonitorRepository;
            _queueRepository   = queueRepository;
            _failureRepository = failureRepository;
        }
        /// <summary>
        /// DIを実行する
        /// </summary>
        /// <param name="appSettings">アプリケーション設定を上書きする場合は指定する</param>
        /// <param name="testLogs">ログの格納先</param>
        private void DependencyInjection(Dictionary <string, string> appSettings = null, List <TestLog> testLogs = null)
        {
            var builder = new TestDiProviderBuilder <UtilityAppSettings>(FunctionsHostBuilderExtend.AddUtility);

            builder.ServiceCollection.AddTransient <ParentChildrenConnectionMonitorController>();
            builder.AddConfigures(appSettings);

            Mock <DateTimeProvider> timeProviderMock = new Mock <DateTimeProvider>();

            timeProviderMock.SetupGet(tp => tp.UtcNow).Returns(TestTime);
            builder.ServiceCollection.AddSingleton <ITimeProvider>(timeProviderMock.Object);

            if (testLogs != null)
            {
                builder.ServiceCollection.AddSingleton <ILogger <ParentChildrenConnectionMonitorService> >(new TestLogger <ParentChildrenConnectionMonitorService>(testLogs));
            }

            ServiceProvider provider = builder.Build();

            settings = provider.GetService <UtilityAppSettings>();
            target   = provider.GetService <ParentChildrenConnectionMonitorController>();
        }
Example #21
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlarmDefTubeCurrentDeteriorationPremonitorRepository">管電流経時劣化予兆監視アラーム定義リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        /// <param name="failureRepository">Failureストレージリポジトリ</param>
        public TubeCurrentDeteriorationPremonitorService(
            UtilityAppSettings settings,
            ILogger <TubeCurrentDeteriorationPremonitorService> logger,
            ITimeProvider timeProvider,
            IDtAlarmDefTubeCurrentDeteriorationPremonitorRepository dtAlarmDefTubeCurrentDeteriorationPremonitorRepository,
            IQueueRepository queueRepository,
            IFailureRepository failureRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlarmDefTubeCurrentDeteriorationPremonitorRepository);
            Assert.IfNull(queueRepository);
            Assert.IfNull(failureRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlarmDefTubeCurrentDeteriorationPremonitorRepository = dtAlarmDefTubeCurrentDeteriorationPremonitorRepository;
            _queueRepository   = queueRepository;
            _failureRepository = failureRepository;
        }
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlarmDefPanelDefectPremonitorRepository">パネル欠陥予兆監視アラーム定義リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        /// <param name="failureRepository">Failureストレージリポジトリ</param>
        public PanelDefectPremonitorService(
            UtilityAppSettings settings,
            ILogger <PanelDefectPremonitorService> logger,
            ITimeProvider timeProvider,
            IDtAlarmDefPanelDefectPremonitorRepository dtAlarmDefPanelDefectPremonitorRepository,
            IQueueRepository queueRepository,
            IFailureRepository failureRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlarmDefPanelDefectPremonitorRepository);
            Assert.IfNull(queueRepository);
            Assert.IfNull(failureRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlarmDefPanelDefectPremonitorRepository = dtAlarmDefPanelDefectPremonitorRepository;
            _queueRepository   = queueRepository;
            _failureRepository = failureRepository;
        }
Example #23
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="settings">設定</param>
        /// <param name="logger">ロガー</param>
        /// <param name="timeProvider">DateTimeの提供元</param>
        /// <param name="dtAlmilogAnalysisResultRepository">アルミスロープログ解析判定結果リポジトリ</param>
        /// <param name="dtAlmilogPremonitorRepository">アルミスロープログ予兆監視アラーム定義リポジトリ</param>
        /// <param name="queueRepository">Queueリポジトリ</param>
        public DipAlmiLogPremonitorService(
            UtilityAppSettings settings,
            ILogger <DipAlmiLogPremonitorService> logger,
            ITimeProvider timeProvider,
            IDtAlmilogAnalysisResultRepository dtAlmilogAnalysisResultRepository,
            IDtAlmilogPremonitorRepository dtAlmilogPremonitorRepository,
            IQueueRepository queueRepository)
        {
            Assert.IfNull(settings);
            Assert.IfNull(logger);
            Assert.IfNull(timeProvider);
            Assert.IfNull(dtAlmilogAnalysisResultRepository);
            Assert.IfNull(dtAlmilogPremonitorRepository);
            Assert.IfNull(queueRepository);

            _settings     = settings;
            _logger       = logger;
            _timeProvider = timeProvider;
            _dtAlmilogAnalysisResultRepository = dtAlmilogAnalysisResultRepository;
            _dtAlmilogPremonitorRepository     = dtAlmilogPremonitorRepository;
            _queueRepository = queueRepository;

            _alarmCountThreshold = int.Parse(_settings.AlarmCountThreshold);
        }