コード例 #1
0
        public async Task ShouldReturnParsedStringWithParams()
        {
            // Arrange
            string template = "Tedsf {test1}, sdfaf{test2}";
            string test1    = Fixture.Create <string>();
            string test2    = Fixture.Create <string>();

            string expected = $"Tedsf {test1}, sdfaf{test2}";

            Dictionary <string, string> dict = new Dictionary <string, string> {
                { "test1", test1 },
                { "test2", test2 }
            };

            // Act
            var actual = MailerParser.ProcessTemplate(template, dict);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #2
0
        public async Task <MailSendingModel> PrepareEmail(EmailParameters emailParams)
        {
            MailSendingModel email = new MailSendingModel();

            emailParams.MailTo = _toMail;

            Dictionary <string, string> parameters = MailerParser.PrepareDictionaryParams(emailParams);

            var emailtemplate = (await _messagetTemplateRepository.GetAsync(Filtering(emailParams.Cause)))
                                .OrderByDescending(x => x.CreateOn)
                                .FirstOrDefault();

            if (emailtemplate != null)
            {
                email.Subject = MailerParser.ProcessTemplate(emailtemplate.Subject, parameters);
                email.From    = new EmailAddress(_from);
                email.To.AddRange(_to?.Select(x => new EmailAddress(x)) ?? new List <EmailAddress>());
                //email.To.AddRange(emailParams.EmailsTo?.Select(x => new EmailAddress(x)) ?? new List<EmailAddress>());/
                email.HtmlContent = MailerParser.ProcessTemplate(emailtemplate.MessageBody, parameters);
                return(email);
            }
            throw new ArgumentNullException("Message", "Email template not found");
        }