Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }