initial commit
[CPE_learningsite] / CPE / CPE.App / CPE.App.NotifyConsole / Helpers / EmailHelper.cs
1 /*
2 Developer: Tyler Allen
3 Date Created: 08/24/2016
4 ---------------------------------------------------
5 */
6
7 using System;
8 using System.Configuration;
9 using System.IO;
10
11 namespace CPE.App.NotifyConsole.Helpers {
12     public static class EmailRenderHelper {
13         public static string EmailBody {
14             get {
15                 string filePath = $"{ConfigurationManager.AppSettings["CertificateEmailBody"]}";
16                 return File.ReadAllText(filePath);
17             }
18         }
19
20         public static string WebcastEmailBody {
21             get {
22                 string filePath = $"{ConfigurationManager.AppSettings["WebcastCertificateEmailBody"]}";
23                 return File.ReadAllText(filePath);
24             }
25         }
26
27         public static string FailEmailBody {
28             get {
29                 string filePath = $"{ConfigurationManager.AppSettings["WebcastFailEmailBody"]}";
30                 return File.ReadAllText(filePath);
31             }
32         }
33
34         public static string RenderEmail(string contentUrl, DateTime? certificateDate, string ticket) {
35             if(!certificateDate.HasValue) {
36                 return string.Empty;
37             }
38             var emailBody = EmailBody;
39             var certLink = ConfigurationManager.AppSettings["CertLink"];
40             var certURl = string.Format(certLink, contentUrl, certificateDate.Value.ToString("yyyyMMdd"), ticket);
41             return emailBody.Replace("certUrl", certURl);
42         }
43
44         public static string RenderWebcastEmail(string certURl) {
45             var emailBody = WebcastEmailBody;
46             return emailBody.Replace("certUrl", certURl);
47         }
48
49         public static string RenderCertificateLink(int meetingSco, DateTime purchaseDate, string ticket) {
50             var meetingUrl = meetingSco.ToString();
51             var certLink = ConfigurationManager.AppSettings["CertLink"];
52             var certURl = string.Format(certLink, meetingUrl, purchaseDate.ToString("yyyyMMdd"), ticket);
53             return certURl;
54         }
55
56         public static string RenderFailEmail() {
57             var emailBody = FailEmailBody;
58             return emailBody;
59         }
60     }
61 }