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 <string> RunOrchestrator(
            [OrchestrationTrigger] IDurableOrchestrationContext context)
        {
            var    vm = context.GetInput <EventViewModel>();
            string id = await context.CallActivityAsync <string>(ConfirmationTask.CreateEvent, vm);

            var activateSendMail = new ActivateEventSendMail {
                Data = vm, InstanceId = context.InstanceId
            };
            await context.CallActivityAsync(ConfirmationTask.SendMailEvent, activateSendMail);

            await HumanInteractionEvent(context, vm);

            return(id);
        }