private string CalculateTableContent(SecondaryEmailModel emailData) { string tablecontent = "<tbody>"; string days = ""; foreach (var day in emailData.CoursePeriods.FirstOrDefault().Students.FirstOrDefault().AbsencesFromLastWeek) { days += $"<td>{day.Date.ToString("ddd MMM dd")}</td>"; } foreach (var period in emailData.CoursePeriods) { tablecontent += $@"<tr> <td background='background: #eeeeee !important;'> <table style='width:100%;margin:auto;background: #ffffff;padding: 25px;margin-bottom: 10px;'> <tbody> <tr> <td colspan='4'>Period {period.Period}</td> <td colspan='4'>{period.CourseTitle}</td> <td colspan='4'>Course #: {period.CourseCode}</td> </tr> <tr style='border-bottom:2px solid #000'> <td>First Last (name)</td> <td>Student ID</td> <td>Learn Loc</td> {days} </tr>"; foreach (var student in period.Students) { tablecontent += @$ "<tr> <td>{student.StudentFirstName} {student.StudentLastName}</td>
private string FillEmailTemplate(SecondaryEmailModel emailData) { var template = loadEmailTemplate(); var filledTemplate = template.Replace("{{StaffFullName}}", $"{emailData.StaffFirstName} {(string.IsNullOrEmpty(emailData.StaffMiddleName) ? "" : emailData.StaffMiddleName + " ")}{emailData.StaffLastname}") .Replace("{{EmailMessage}}", "These following students are assigned to a course you teach, and have been marked absent at least 3 of the last 5 attendance periods.") .Replace("{{TableContent}}", CalculateTableContent(emailData)); return(filledTemplate); }