private HtmlElement SetupTable(List<RegisterEventObj> regData, Event evnt) { var tableAttrs = new Dictionary<string, string>() { {"width", "100%"}, {"border", "1"}, {"cellspacing", "0"}, {"cellpadding", "5"} }; var cellAttrs = new Dictionary<string, string>() { {"align", "center"} }; var htmlrows = regData.Select(rsvp => { var p = _contactService.GetContactByParticipantId(rsvp.ParticipantId); return new HtmlElement("tr") .Append(new HtmlElement("td", cellAttrs, evnt.EventStartDate.ToShortDateString())) .Append(new HtmlElement("td", cellAttrs, p.First_Name + " " + p.Last_Name)) .Append(new HtmlElement("td", cellAttrs, evnt.EventStartDate.ToShortTimeString())) .Append(new HtmlElement("td", cellAttrs, evnt.EventEndDate.ToShortTimeString())) .Append(new HtmlElement("td", cellAttrs, evnt.EventLocation)); }).ToList(); return new HtmlElement("table", tableAttrs) .Append(SetupTableHeader) .Append(htmlrows); }
private void SendEventReminderEmail(Models.Crossroads.Events.Event evt, Participant participant, Event childcareEvent, IList<Participant> children, string token) { var mergeData = new Dictionary<string, object> { {"Nickname", participant.Nickname}, {"Event_Title", evt.name}, {"Event_Start_Date", evt.StartDate.ToShortDateString()}, {"Event_Start_Time", evt.StartDate.ToShortTimeString()}, {"cmsChildcareEventReminder", string.Empty}, {"Childcare_Children", string.Empty}, {"Childcare_Contact", string.Empty} // Set these three parameters no matter what... }; if (children.Any()) { // determine if any of the children are related to the participant var mine = MyChildrenParticipants(participant.ContactId, children, token); // build the HTML for the [Childcare] data if (mine.Any()) { mergeData.Add("cmsChildcareEventReminder", _contentBlockService["cmsChildcareEventReminder"].Content); var childcareString = ChildcareData(mine); mergeData.Add("Childcare_Children", childcareString); mergeData.Add("Childcare_Contact", new HtmlElement("span", "If you need to cancel, please email " + childcareEvent.PrimaryContact.EmailAddress).Build()); } } var defaultContact = _contactService.GetContactById(AppSetting("DefaultContactEmailId")); var comm = _communicationService.GetTemplateAsCommunication( AppSetting("EventReminderTemplateId"), defaultContact.Contact_ID, defaultContact.Email_Address, evt.PrimaryContactId, evt.PrimaryContactEmailAddress, participant.ContactId, participant.EmailAddress, mergeData ); _communicationService.SendMessage(comm); }