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