Esempio n. 1
0
        /// <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>();
        }
Esempio n. 2
0
        private void SendAll()
        {
            if (!CheckFilterSanity())
            {
                return;
            }

            MailSenderController.SendEmail(this, Constants.ComparisonEmailSubject, GetFullReportText());
        }
Esempio n. 3
0
 internal void SendTo()
 {
     MailSenderController.SendEmail(this.ParentForm, Constants.ComparisonEmailSubject, webBrowser1.DocumentText);
 }