public async Task <string> PopulateTemplate(string template, User user, Event mobEvent) { var localTime = await MapRepository.GetTimeForPoint(new Tuple <double, double>(mobEvent.Latitude.Value, mobEvent.Longitude.Value), mobEvent.EventDate).ConfigureAwait(false); DateTime localDate = (!string.IsNullOrWhiteSpace(localTime)) ? DateTime.Parse(localTime) : mobEvent.EventDate.DateTime; var populatedTemplate = template; populatedTemplate = populatedTemplate.Replace("{UserName}", user.UserName); populatedTemplate = populatedTemplate.Replace("{EventName}", mobEvent.Name); populatedTemplate = populatedTemplate.Replace("{EventDate}", localDate.ToString("MMMM dd, yyyy HH:mm tt")); populatedTemplate = populatedTemplate.Replace("{EventStreet}", mobEvent.StreetAddress); populatedTemplate = populatedTemplate.Replace("{EventCity}", mobEvent.City); populatedTemplate = populatedTemplate.Replace("{EventRegion}", mobEvent.Region); populatedTemplate = populatedTemplate.Replace("{EventCountry}", mobEvent.Country); var summaryLink = $"<a target='_blank' href='https://www.trashmob.eco/eventsummary/{mobEvent.Id}'>Event Summary</a>"; populatedTemplate = populatedTemplate.Replace("{EventSummaryLink}", summaryLink); var detailsLink = $"<a target='_blank' href='https://www.trashmob.eco/eventdetails/{mobEvent.Id}'>Event Details</a>"; populatedTemplate = populatedTemplate.Replace("{EventDetailsLink}", detailsLink); return(populatedTemplate); }
public async Task <string> PopulateTemplate(string template, User user, IEnumerable <Event> mobEvents) { var populatedTemplate = template; populatedTemplate = populatedTemplate.Replace("{UserName}", user.UserName); var eventGrid = new StringBuilder(); eventGrid.AppendLine("<table>"); eventGrid.AppendLine("<tr>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event Name</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event Date</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event Address</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event City</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event Region</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("<th>"); eventGrid.AppendLine("<b>Event Country</b>"); eventGrid.AppendLine("</th>"); eventGrid.AppendLine("</tr>"); foreach (var mobEvent in mobEvents) { var localTime = await MapRepository.GetTimeForPoint(new Tuple <double, double>(mobEvent.Latitude.Value, mobEvent.Longitude.Value), mobEvent.EventDate).ConfigureAwait(false); DateTime localDate = (!string.IsNullOrWhiteSpace(localTime)) ? DateTime.Parse(localTime) : mobEvent.EventDate.DateTime; eventGrid.AppendLine("<tr>"); eventGrid.AppendLine("<td>"); var link = $"<a target='_blank' href='https://www.trashmob.eco/eventdetails/{mobEvent.Id}'>{mobEvent.Name}</a>"; eventGrid.AppendLine(link); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("<td>"); eventGrid.AppendLine(localDate.ToString("MMMM dd, yyyy HH:mm tt")); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("<td>"); eventGrid.AppendLine(mobEvent.StreetAddress); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("<td>"); eventGrid.AppendLine(mobEvent.City); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("<td>"); eventGrid.AppendLine(mobEvent.Region); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("<td>"); eventGrid.AppendLine(mobEvent.Country); eventGrid.AppendLine("</td>"); eventGrid.AppendLine("</tr>"); } eventGrid.AppendLine("</table>"); populatedTemplate = populatedTemplate.Replace("{EventGrid}", eventGrid.ToString()); return(populatedTemplate); }