using Sarand.BusinessMgr.Net.Standard.Base.App; using Sarand.BusinessMgr.Net.Standard.Base.Helpers; using Sarand.Net.Standard.Base.Email; using System; using System.Collections.Generic; using System.Text; namespace Sarand.BusinessMgr.Net.Standard.Base.Consoles { //======================================================================= public class SbmEmailConfig : SaEmailConfig { public SbmEmailConfig(String context) : base(context) { } } //======================================================================= public abstract class SbmEmailConsole : SaEmailConsole { //------------------------------------------------------------------- // Data members. //------------------------------------------------------------------- // Protected construction. protected SbmEmailConsole(SbmEmailConfig emailConfig) { EmailConfig = emailConfig; } //------------------------------------------------------------------- // Properties. public SbmEmailConfig 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, SbmSessionData sessionData) { // 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, SbmResourceHelper.GetTextResource(SbmResourceHelper.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, SbmResourceHelper.GetTextResource(SbmResourceHelper.TextResource.Email_Footer_Html)); } } //------------------------------------------------------------------- } //======================================================================= }