コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }