2 using System.Configuration;
5 using System.Web.Hosting;
7 namespace CPE.Utilities {
8 public static class Email {
9 public static string EmailBody {
11 string filePath = $"{ConfigurationManager.AppSettings["CertificateEmailBody"]}";
12 return File.ReadAllText(filePath);
16 public static string WebcastEmailBody {
18 string filePath = $"{ConfigurationManager.AppSettings["WebcastCertificateEmailBody"]}";
19 return File.ReadAllText(filePath);
23 public static string FailEmailBody {
25 string filePath = $"{ConfigurationManager.AppSettings["WebcastFailEmailBody"]}";
26 return File.ReadAllText(filePath);
30 public static string RenderEmail(string contentUrl, DateTime? certificateDate, string ticket) {
31 if(!certificateDate.HasValue)
33 var emailBody = EmailBody;
34 var certLink = ConfigurationManager.AppSettings["CertLink"];
35 var certURl = string.Format(certLink, contentUrl, certificateDate.Value.ToString("yyyyMMdd"), ticket);
36 return emailBody.Replace("certUrl", certURl);
39 public static string RenderWebcastEmail(string certURl) {
40 var emailBody = WebcastEmailBody;
41 return emailBody.Replace("certUrl", certURl);
44 public static string RenderCertLink(int meetingSco, DateTime purchaseDate, string ticket) {
45 var meetingUrl = meetingSco.ToString();
46 var certLink = ConfigurationManager.AppSettings["CertLink"];
47 var certURl = string.Format(certLink, meetingUrl, purchaseDate.ToString("yyyyMMdd"), ticket);
51 public static string RenderFailEmail() {
52 var emailBody = FailEmailBody;
56 private static string MapServerPath(string path) {
57 string returnValue = null;
58 if(HttpContext.Current != null) {
59 returnValue = HttpContext.Current.Server.MapPath(path);
61 returnValue = HostingEnvironment.MapPath(path);