using Sarand.Net.Standard.Base.Email; using Saxonite.Net.Standard.Base.App; using Saxonite.Net.Standard.Base.Bus; using Saxonite.Net.Standard.Base.Helpers; using System; using System.Collections.Generic; using System.Text; namespace Saxonite.Net.Standard.Base.Consoles { //======================================================================= public class SaxEmailConfig : SaEmailConfig { public SaxEmailConfig(String context) : base(context) { } } //======================================================================= public abstract class SaxEmailConsole : SaEmailConsole { //------------------------------------------------------------------- // Data members. //------------------------------------------------------------------- // Protected construction. protected SaxEmailConsole(SaxEmailConfig emailConfig) { EmailConfig = emailConfig; } //------------------------------------------------------------------- // Properties. public SaxEmailConfig EmailConfig { get; } public static String EmailTag_Header { get; } = "[#Email.Header]"; public static String EmailTag_Footer { get; } = "[#Email.Footer]"; public static String EmailTag_Caption { get; } = "[#Email.Caption]"; public static String EmailTag_MainStylesheet { get; } = "[#Email.MainStylesheet]"; //------------------------------------------------------------------- /// /// Replace dynamic tags in email message body. /// /// public void ReplaceDynamicEmailBodyTags(SaEmailData emailData, SaxSessionData sessionData, SaxUserAccount userAccount) { // Replace core tags, eg. main stylesheet. SaEmailConsole.ReplaceDynamicEmailTags(emailData); // Replace tags known to the web application. // Main stylesheet. if (EmailContainsTag(emailData, EmailTag_MainStylesheet)) { // Tag replacement is expanded to avoid reading main stylesheet resource unless required. ReplaceDynamicEmailTag(emailData, EmailTag_MainStylesheet, ""); } // Partial content - Header. if (EmailContainsTag(emailData, EmailTag_Header)) { // Tag replacement is expanded to avoid reading Header resource unless required. ReplaceDynamicEmailTag(emailData, EmailTag_Header, SaxResourceHelper.GetTextResource(SaxResourceHelper.TextResource.Email_Header_Html)); } // Partial content - Footer. if (EmailContainsTag(emailData, EmailTag_Footer)) { // Tag replacement is expanded to avoid reading Footer resource unless required. ReplaceDynamicEmailTag(emailData, EmailTag_Footer, SaxResourceHelper.GetTextResource(SaxResourceHelper.TextResource.Email_Footer_Html)); } } //------------------------------------------------------------------- } //======================================================================= }