Alpinely.TownCrier.MergedEmailFactory.WithTokenValues C# (CSharp) Method

WithTokenValues() public method

public WithTokenValues ( string>.IDictionary tokenValues ) : MailMessageWrapper
tokenValues string>.IDictionary
return MailMessageWrapper
        public MailMessageWrapper WithTokenValues(IDictionary<string, string> tokenValues)
        {
            Message.TokenValues = tokenValues;
            return Message;
        }

Usage Example

Example #1
0
        public void Execute()
        {
            var factory = new MergedEmailFactory(new TemplateParser());
            var employees = _repository.FindAll<Employee>();
            var emailTemplate = _repository.Query<EmailTemplate>(x => x.Name == "Daily Tasks List").FirstOrDefault();
            employees.Each(x =>
                               {
                                   var sb = new StringBuilder();
                                   x.GetTasks().Where(t=>t.ScheduledDate >= DateTime.Now && t.ScheduledDate <= DateTime.Now.AddDays(1)).Each(task =>
                                                         {
                                                             sb.Append("Task Type: ");
                                                             sb.Append(task.TaskType.Name);
                                                             sb.AppendLine();
                                                             sb.Append("Start Time: ");
                                                             sb.Append(task.ScheduledStartTime);
                                                             sb.AppendLine();
                                                             sb.Append("Field: ");
                                                             sb.Append(task.Field.Name);
                                                             sb.AppendLine();
                                                             sb.AppendLine();
                                                         });
                                   var tokenValues = new Dictionary<string, string>
                                                         {
                                                             {"name", x.FullName},
                                                             {"date", DateTime.Now.ToLongDateString()},
                                                             {"tasks", sb.ToString()}
                                                         };

                                   MailMessage message = factory
                                       .WithTokenValues(tokenValues)
                                       .WithSubject("Daily Tasks Email")
                                       .WithHtmlBody(emailTemplate.Template)
                                       .Create();

                                   var from = new MailAddress("*****@*****.**", "Automated Emailer");
                                   var to = new MailAddress(x.Email, x.FullName);
                                   message.From = from;
                                   message.To.Add(to);

                                   var smtpClient = new SmtpClient();
                                   smtpClient.Send(message);
                               });
        }
All Usage Examples Of Alpinely.TownCrier.MergedEmailFactory::WithTokenValues