/// <summary> /// IndexBlobService /// </summary> /// <param name="settings">アプリケーション設定</param> /// <param name="logger">ロガー</param> /// <param name="collectingRepository">ICollectingRepository</param> /// <param name="primaryRepository">IPrimaryRepository</param> /// <param name="dtDeviceFileRepository">IDtDeviceFileRepository</param> /// <param name="dtDeviceRepository">IDtDeviceRepository</param> /// <param name="timeProvider">ITimeProvider</param> public IndexBlobService( AppSettings settings, ILogger <IndexBlobService> logger, ICollectingRepository collectingRepository, IPrimaryRepository primaryRepository, IDtDeviceFileRepository dtDeviceFileRepository, IDtDeviceRepository dtDeviceRepository, ITimeProvider timeProvider) { Assert.IfNull(settings); Assert.IfNull(logger); Assert.IfNull(collectingRepository); Assert.IfNull(primaryRepository); Assert.IfNull(dtDeviceFileRepository); Assert.IfNull(dtDeviceRepository); Assert.IfNull(timeProvider); _settings = settings; _logger = logger; _collectingRepository = collectingRepository; _primaryRepository = primaryRepository; _dtDeviceFileRepository = dtDeviceFileRepository; _dtDeviceRepository = dtDeviceRepository; _timeProvider = timeProvider; }
/// <summary> /// DIを実行する /// </summary> /// <param name="appSettings">アプリケーション設定を上書きする場合は指定する</param> private void DependencyInjection(Dictionary <string, string> appSettings = null) { TestDiProviderBuilder builder = new TestDiProviderBuilder(); builder.ServiceCollection.AddTransient <CollectingBlob>(); if (appSettings != null) { foreach (KeyValuePair <string, string> pair in appSettings) { builder.AddConfigure(pair.Key, pair.Value); } } builder.ServiceCollection.AddSingleton <ITimeProvider>(UnitTestHelper.CreateTimeProvider(new DateTime(2030, 1, 1))); ServiceProvider provider = builder.Build(); primaryBlob = provider.GetService <PrimaryBlob>(); collectingBlob = provider.GetService <CollectingBlob>(); target = provider.GetService <ICollectingRepository>(); }