private (string, string, string) GetTemplate(EmailTemplateChoices templateName) { string subject = ""; string html = ""; string plainText = ""; switch (templateName) { case EmailTemplateChoices.ConfirmAccount: var confirmAccountTemplates = new ConfirmAccountTemplates(); subject = confirmAccountTemplates.Subject; html = confirmAccountTemplates.Html; plainText = confirmAccountTemplates.PlainText; break; case EmailTemplateChoices.ForgotPassword: var forgotPasswordTemplates = new ForgotPasswordTemplates(); subject = forgotPasswordTemplates.Subject; html = forgotPasswordTemplates.Html; plainText = forgotPasswordTemplates.PlainText; break; case EmailTemplateChoices.NewAccount: var newAccountTemplates = new NewAccountTemplates(); subject = newAccountTemplates.Subject; html = newAccountTemplates.Html; plainText = newAccountTemplates.PlainText; break; default: throw new Exception("Email template not found"); } return(subject, html, plainText); }
public (string, string, string) BuildEmailSubjectAndBody(EmailTemplateChoices templateName, object parameters = null) { var(subject, html, plainText) = GetTemplate(templateName); if (parameters == null) { return(subject, html, plainText); } var htmlString = BuildTemplate(html, parameters); var plainTextString = BuildTemplate(plainText, parameters); return(subject, htmlString, plainTextString); }