/// <summary> /// DIを実行する /// </summary> /// <param name="utcNow">TimeProviderに渡す日時</param> /// <param name="serviceLogger">Service用のロガー</param> /// <param name="configures">AppSettingsに追加する項目</param> private void DependencyInjection(DateTime utcNow, TestLogger <CleanBlobService> serviceLogger, Dictionary <string, string> configures = null) { TestDiProviderBuilder builder = new TestDiProviderBuilder(); // Blob builder.ServiceCollection.AddTransient <PrimaryBlob>(); // Polly builder.ServiceCollection.AddSingleton(s => new BlobPolly(s.GetService <AppSettings>())); builder.ServiceCollection.AddSingleton(s => new DBPolly(s.GetService <AppSettings>())); // Logger builder.ServiceCollection.AddSingleton <ILogger <CleanBlobService> >(serviceLogger); // Controller生成 builder.ServiceCollection.AddTransient <BlobCleanController>(); // Repository生成 builder.ServiceCollection.AddTransient <IDtDeviceFileRepository, DtDeviceFileRepositoryMock>(); builder.ServiceCollection.AddTransient <IPrimaryRepository, PrimaryBlobRepositoryMock>(); builder.ServiceCollection.AddSingleton <ITimeProvider>(UnitTestHelper.CreateTimeProvider(utcNow)); // 追加の設定項目 if (configures != null) { builder.AddConfigures(configures); } _provider = builder.Build(); // AppSettings _appSettings = _provider.GetService <AppSettings>(); // DateTimeProvider _dateTimeProvider = _provider.GetService <ITimeProvider>() as DateTimeProvider; // PrimaryBlob _primaryBlob = _provider.GetService <PrimaryBlob>(); // BlobPolly _blobPolly = _provider.GetService <BlobPolly>(); // DBPolly _dBPolly = _provider.GetService <DBPolly>(); // BlobCleanController _controller = _provider.GetService <BlobCleanController>(); // DtDeviceFileRepository _dtDeviceFileRepositoryMock = _provider.GetService <IDtDeviceFileRepository>() as DtDeviceFileRepositoryMock; // PrimaryBlobRepository _primaryBlobRepositoryMock = _provider.GetService <IPrimaryRepository>() as PrimaryBlobRepositoryMock; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public MtInstallTypeRepository(ILogger <MtInstallTypeRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtAlarmDefPanelDefectPremonitorRepository(ILogger <DtAlarmDefPanelDefectPremonitorRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtSmartAnalysisResultRepository(ILogger <DtSmartAnalysisResultRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtParentChildConnectRepository(ILogger <DtParentChildConnectRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtPlusServiceBillLogRepository(ILogger <DtPlusServiceBillLogRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtDeliveryGroupRepository(ILogger <DtDeliveryGroupRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtAlarmDefTemperatureSensorLogMonitorRepository(ILogger <DtAlarmDefTemperatureSensorLogMonitorRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="logger">ロガー</param> /// <param name="timePrivder">DateTimeの提供元</param> /// <param name="dbPolly">DB接続用のPolly</param> /// <param name="appSettings">アプリケーション設定</param> public DtAlarmDefTubeCurrentDeteriorationPremonitorRepository(ILogger <DtAlarmDefTubeCurrentDeteriorationPremonitorRepository> logger, ITimeProvider timePrivder, DBPolly dbPolly, AppSettings appSettings) { Assert.IfNull(logger); Assert.IfNull(timePrivder); Assert.IfNull(dbPolly); Assert.IfNull(appSettings); _logger = logger; _timePrivder = timePrivder; _dbPolly = dbPolly; _appSettings = appSettings; }
/// <summary> /// 初期化処理 /// 例外処理を実行するメソッドのフラグと何回目の呼び出しで例外処理を実行するかを設定する /// </summary> /// <param name="index">例外処理実行インデックス</param> /// <param name="failedToDelete">例外処理を起こすか(例外処理を起こす場合にはtrue)</param> public void Init(int index, bool failedToDelete) { // 例外を発生させるか? _failedToDelete = failedToDelete; // 現在のインデックスを初期化 _currentIndex = 1; // 例外を発生させるインデックス(何回目にメソッドが呼ばれたときに例外を発生させるか) _index = index; // リポジトリDI DBPolly dbPolly = new DBPolly(_appSettings); var logger = new TestLogger <PrimaryBlobRepository>(_dtDeviceFileActualLogs); _repo = new PrimaryBlobRepository(_appSettings, _primaryBlob, _blobPolly, logger); }