using System; using System.Configuration; using System.IO; using System.Web; using System.Web.Hosting; namespace CPE.Utilities { public static class Email { public static string EmailBody { get { string filePath = $"{ConfigurationManager.AppSettings["CertificateEmailBody"]}"; return File.ReadAllText(filePath); } } public static string WebcastEmailBody { get { string filePath = $"{ConfigurationManager.AppSettings["WebcastCertificateEmailBody"]}"; return File.ReadAllText(filePath); } } public static string FailEmailBody { get { string filePath = $"{ConfigurationManager.AppSettings["WebcastFailEmailBody"]}"; return File.ReadAllText(filePath); } } public static string RenderEmail(string contentUrl, DateTime? certificateDate, string ticket) { if(!certificateDate.HasValue) return string.Empty; var emailBody = EmailBody; var certLink = ConfigurationManager.AppSettings["CertLink"]; var certURl = string.Format(certLink, contentUrl, certificateDate.Value.ToString("yyyyMMdd"), ticket); return emailBody.Replace("certUrl", certURl); } public static string RenderWebcastEmail(string certURl) { var emailBody = WebcastEmailBody; return emailBody.Replace("certUrl", certURl); } public static string RenderCertLink(int meetingSco, DateTime purchaseDate, string ticket) { var meetingUrl = meetingSco.ToString(); var certLink = ConfigurationManager.AppSettings["CertLink"]; var certURl = string.Format(certLink, meetingUrl, purchaseDate.ToString("yyyyMMdd"), ticket); return certURl; } public static string RenderFailEmail() { var emailBody = FailEmailBody; return emailBody; } private static string MapServerPath(string path) { string returnValue = null; if(HttpContext.Current != null) { returnValue = HttpContext.Current.Server.MapPath(path); } else { returnValue = HostingEnvironment.MapPath(path); } return returnValue; } } }