Esempio n. 1
0
 /// <summary>
 /// Creates a new <see cref="EmailService"/>.
 /// </summary>
 public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser, IOptions <EmailServiceOptions> options, ILogger <EmailService> logger)
 {
     this.emailViewRenderer = emailViewRenderer;
     this.emailParser       = emailParser;
     this.options           = options.Value;
     this.logger            = logger;
 }
Esempio n. 2
0
 // Get our parameterized configuration
 public EmailSender(IEmailService emailService,
                    IEmailViewRender emailViewRenderer,
                    IWebHostEnvironment env,
                    IOptions <EmailSenderOptions> emailOptions)
 {
     _emailOptions = emailOptions.Value;
     _emailService = emailService;
     _env          = env;
 }
 public EmailViewResultExecutor(ILoggerFactory loggerFactory,
                                IHttpResponseStreamWriterFactory httpResponseStreamWriterFactory,
                                IEmailViewRender render,
                                IEmailParser parser = null)
 {
     _logger = loggerFactory.CreateLogger <EmailViewResultExecutor>();
     _httpResponseStreamWriterFactory = httpResponseStreamWriterFactory;
     Render = render;
     Parser = parser ?? new EmailParser(Render);
 }
Esempio n. 4
0
        /// <summary>
        /// Creates a new <see cref="EmailService"/>.
        /// </summary>
        public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser, IOptions <EmailServiceOptions> options, ILogger <EmailService> logger)
        {
            this.emailViewRenderer = emailViewRenderer;
            this.emailParser       = emailParser;
            this.options           = options.Value;
            this.logger            = logger;

            logger.LogDebug($"EmailService options:");
            logger.LogDebug($"\tHost: {this.options.Host}");
            logger.LogDebug($"\tPort: {this.options.Port}");
            logger.LogDebug($"\tEnableSSL: {this.options.EnableSSL}");
            logger.LogDebug($"\tFromAddress: {this.options.FromAddress}");
            logger.LogDebug($"\tUserName: {this.options.UserName}");
        }
        private HttpContext GetHttpContext(IEmailViewRender render, IEmailParser parser = null)
        {
            var options = Options.Create(new MvcViewOptions());

            var viewExecutor = new EmailViewResultExecutor(
                NullLoggerFactory.Instance,
                new TestHttpResponseStreamWriterFactory(),
                render,
                parser);

            var services = new ServiceCollection();

            services.AddSingleton <IActionResultExecutor <EmailViewResult> >(viewExecutor);

            var httpContext  = new DefaultHttpContext();
            var memoryStream = new MemoryStream();

            httpContext.Response.Body   = memoryStream;
            httpContext.RequestServices = services.BuildServiceProvider();
            return(httpContext);
        }
Esempio n. 6
0
 /// <summary>
 /// Creates a new <see cref="EmailService"/>.
 /// </summary>
 public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser = null, Func <SmtpClient> createSmtpClient = null)
 {
     this.emailViewRenderer = emailViewRenderer;
     this.emailParser       = emailParser;
     this.createSmtpClient  = createSmtpClient ?? (() => new SmtpClient());
 }
 //https://github.com/aspnet/Mvc/blob/a67d9363e22be8ef63a1a62539991e1da3a6e30e/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewResultTest.cs
 private ActionContext GetActionContext(IEmailViewRender render, IEmailParser parser = null)
 {
     return(new ActionContext(GetHttpContext(render, parser), new RouteData(), new ActionDescriptor()));
 }
Esempio n. 8
0
 /// <summary>
 /// Creates a new <see cref="EmailParser"/>.
 /// </summary>
 ///
 public EmailParser(IEmailViewRender alternativeViewRenderer)
 {
     this.alternativeViewRenderer = alternativeViewRenderer;
 }