public async Task<bool> HandleAsync(DurableOrchestrationContext context, CancellationToken cancellationToken = default) { var events = context.GetInput<IList<EventGridEvent>>(); foreach (var @event in events) { var handlers = EventTypeHandlerMapping.GetEventHandlers(@event.EventType); if (handlers?.Count > 0) { var tasks = new List<Task>(); foreach (var handler in handlers) { tasks.Add(context.CallActivityAsync(handler, @event.Data)); } await Task.WhenAll(tasks); } } return true; }
public IEventWebhookHandler Convert(ServerlessCqrsEventWebhookHandlerAttribute attribute) { EventTypeHandlerMapping.InitializedMapping(); return(new EventWebhookHandler(attribute)); }