public async Task ConfirmEvent([ActivityTrigger] ActivateEventSendMail activateSendMail, [SendGrid(ApiKey = "SendGridConnections:ApiKey")] IAsyncCollector <SendGridMessage> messageCollector, ILogger log) { var eventData = activateSendMail.Data; SendGridMessage message = new SendGridMessage(); message.SetFrom(new EmailAddress(sendGridSettings.From)); message.AddTos(adminSettings.GetMails().Select(x => new EmailAddress(x)).ToList()); message.SetSubject($"New Event submitted: {eventData.Name}"); message.SetTemplateId(sendGridSettings.TemplateEventId); message.SetTemplateData(new MailEventTemplateData { confirmurl = adminSettings.GetConfirmationEventLink(activateSendMail.InstanceId, true), aborturl = adminSettings.GetConfirmationEventLink(activateSendMail.InstanceId, false), eventname = eventData.Name, eventstartdate = eventData.StartDate, eventenddate = eventData.EndDate, eventbuyticket = eventData.BuyTicket?.ToString(), eventcfpurl = eventData.CFP?.Url, eventcfpstartdate = eventData.CFP?.StartDate, eventcfpstartend = eventData.CFP?.EndDate, eventcommunityname = eventData.CommunityName }); await messageCollector.AddAsync(message); }
public async Task ConfirmEvent([ActivityTrigger] ReportGeneration eventsData, [SendGrid(ApiKey = "SendGridConnections:ApiKey")] IAsyncCollector <SendGridMessage> messageCollector, ILogger log) { MemoryStream eventsStream = await fileService.DownloadReport(eventsData.ReportInformation.BlobContainerName, eventsData.ReportInformation.FileName); SendGridMessage message = new SendGridMessage(); message.SetFrom(new EmailAddress(sendGridSettings.From)); message.AddTos(adminSettings.GetMails().Select(x => new EmailAddress(x)).ToList()); message.SetSubject($"Send events report from {eventsData.StartDate.ToShortDateString()} to {eventsData.EndDate.ToShortDateString()}"); message.Contents = new List <Content>(); message.Contents.Add(new Content("text/plain", "In this mail there is Event Report")); await message.AddAttachmentAsync(eventsData.FileName, eventsStream); await messageCollector.AddAsync(message); }
public async Task ConfirmPerson([ActivityTrigger] ActivatePersonSendMail activateSendMail, [SendGrid(ApiKey = "SendGridConnections:ApiKey")] IAsyncCollector <SendGridMessage> messageCollector, ILogger log) { var personData = activateSendMail.Data; SendGridMessage message = new SendGridMessage(); message.SetFrom(new EmailAddress(sendGridSettings.From)); message.AddTos(adminSettings.GetMails().Select(x => new EmailAddress(x)).ToList()); message.SetSubject($"New Person submitted: {personData.Name}"); message.SetTemplateId(sendGridSettings.TemplatePersonId); message.SetTemplateData(new MailPersonTemplateData { confirmurl = adminSettings.GetConfirmationPersonLink(activateSendMail.InstanceId, true), aborturl = adminSettings.GetConfirmationPersonLink(activateSendMail.InstanceId, false), personname = personData.Name, personsurname = personData.Surname, personmvpcode = personData.MVP_Code }); await messageCollector.AddAsync(message); }
public async Task ConfirmCommunity([ActivityTrigger] ActivateCommunitySendMail activateSendMail, [SendGrid(ApiKey = "SendGridConnections:ApiKey")] IAsyncCollector <SendGridMessage> messageCollector, ILogger log) { var communityData = activateSendMail.Data; SendGridMessage message = new SendGridMessage(); message.SetFrom(new EmailAddress(sendGridSettings.From)); message.AddTos(adminSettings.GetMails().Select(x => new EmailAddress(x)).ToList()); message.SetSubject($"New Community submitted: {communityData.Name}"); message.SetTemplateId(sendGridSettings.TemplateCommunityId); message.SetTemplateData(new MailCommunityTemplateData { confirmurl = adminSettings.GetConfirmationCommunityLink(activateSendMail.InstanceId, true), aborturl = adminSettings.GetConfirmationCommunityLink(activateSendMail.InstanceId, false), communityname = communityData.Name, communitywebsite = communityData.WebSite.ToString(), communitymanagers = communityData.Managers.Select(t => new PersonTemplate { name = t.Name, surname = t.Surname }).ToList() }); await messageCollector.AddAsync(message); }
public async Task ConfirmArticle([ActivityTrigger] ActivateArticleSendMail activateSendMail, [SendGrid(ApiKey = "SendGridConnections:ApiKey")] IAsyncCollector <SendGridMessage> messageCollector, ILogger log) { var articleData = activateSendMail.Data; SendGridMessage message = new SendGridMessage(); message.SetFrom(new EmailAddress(sendGridSettings.From)); message.AddTos(adminSettings.GetMails().Select(x => new EmailAddress(x)).ToList()); message.SetSubject($"New Article submitted: {articleData.Name}"); message.SetTemplateId(sendGridSettings.TemplateArticleId); message.SetTemplateData(new MailArticleTemplateData { confirmurl = adminSettings.GetConfirmationArticleLink(activateSendMail.InstanceId, true), aborturl = adminSettings.GetConfirmationArticleLink(activateSendMail.InstanceId, false), articlename = articleData.Name, articleurl = articleData.Url.ToString(), articlepublishdate = articleData.PublishDate, articleauthors = articleData.Authors.Select(t => new PersonTemplate { name = t.Name, surname = t.Surname }).ToList() }); await messageCollector.AddAsync(message); }