EmailTemplateEngine.Email CreateEmail(LogicRuleInfo logicRuleInfo, EmailRule emailRule, IModelSmtpClientContext modelSmtpClientContext, IEmailTemplate emailTemplateObject, IModelApplicationEmail modelApplicationEmail) {
     var templateEngine = new EmailTemplateEngine.EmailTemplateEngine(emailTemplateObject);
     var email = templateEngine.Execute(logicRuleInfo.Object, emailRule.ID);
     if (emailRule.CurrentObjectEmailMember != null) {
         var toEmail = emailRule.CurrentObjectEmailMember.MemberInfo.GetValue(logicRuleInfo.Object) as string;
         email.To.Add(toEmail);
     }
     if (!string.IsNullOrEmpty(emailRule.EmailReceipientsContext)) {
         AddReceipients(emailRule, modelApplicationEmail, email,logicRuleInfo.Object);
     }
     email.From = modelSmtpClientContext.SenderEmail;
     modelSmtpClientContext.ReplyToEmails.Split(';').Each(s => email.ReplyTo.Add(s));
     return email.To.Count == 0 ? null : email;
 }
Example #2
0
        EmailTemplateEngine.Email CreateEmail(EmailTemplateEngine.EmailTemplateEngine templateEngine, LogicRuleInfo logicRuleInfo, EmailRule emailRule, IModelSmtpClientContext modelSmtpClientContext, IEmailTemplate emailTemplateObject, IModelApplicationEmail modelApplicationEmail)
        {
            var email = templateEngine.Execute(logicRuleInfo.Object, emailRule.ID);

            if (emailRule.CurrentObjectEmailMember != null)
            {
                var toEmail = emailRule.CurrentObjectEmailMember.MemberInfo.GetValue(logicRuleInfo.Object) as string;
                email.To.Add(toEmail);
            }
            if (!string.IsNullOrEmpty(emailRule.EmailReceipientsContext))
            {
                AddReceipients(emailRule, modelApplicationEmail, email, logicRuleInfo.Object);
            }
            email.From    = modelSmtpClientContext.SenderEmail;
            email.Subject = emailTemplateObject.Subject;
            modelSmtpClientContext.ReplyToEmails.Split(';').Each(s => email.ReplyTo.Add(s));
            return(email.To.Count == 0 ? null : email);
        }