/// <summary> /// DIを実行する /// </summary> /// <param name="appSettings">アプリケーション設定を上書きする場合は指定する</param> /// <param name="testLogs">ログの格納先</param> /// <param name="testMails">送信したメール情報を格納するリスト</param> /// <param name="mockResponseCode">SendMailメソッドが返却するHTTPステータスコード</param> /// <param name="mockResponseException">SendMailメソッドが返却するException</param> private void DependencyInjection(Dictionary <string, string> appSettings = null, List <TestLog> testLogs = null, List <MailInfo> testMails = null, HttpStatusCode mockResponseCode = HttpStatusCode.Accepted, Exception mockResponseException = null) { var builder = new TestDiProviderBuilder <OperationAppSettings>(FunctionsHostBuilderExtend.AddUtility); builder.ServiceCollection.AddTransient <MailSenderController>(); builder.ServiceCollection.AddTransient <FailureBlob>(); 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 <MailSenderService> >(new TestLogger <MailSenderService>(testLogs)); } if (testMails != null) { builder.ServiceCollection.AddTransient <IMailRepository>(x => new TestMailRepository(testMails, mockResponseCode, mockResponseException)); } ServiceProvider provider = builder.Build(); failureBlob = provider.GetService <FailureBlob>(); settings = provider.GetService <AppSettings>() as OperationAppSettings; target = provider.GetService <MailSenderController>(); }
private void SendAll() { if (!CheckFilterSanity()) { return; } MailSenderController.SendEmail(this, Constants.ComparisonEmailSubject, GetFullReportText()); }
internal void SendTo() { MailSenderController.SendEmail(this.ParentForm, Constants.ComparisonEmailSubject, webBrowser1.DocumentText); }