public async Task InvokeAsync(HttpContext context, ISubscriptionsRepository subscriptionsRepository, IMapper mapper, IOptions <AwesomeEventGridOptions> options) { var routeData = context.GetRouteData(); var topic = context.Request.Query["topic"].FirstOrDefault(); var subscriptions = subscriptionsRepository.GetAll(topic); var model = mapper.Map <IEnumerable <SubscriptionModel> >(subscriptions); await Ok(context, model); }
public async Task HandleAsync(string topic, params EventModel[] events) { var dispatcherTasks = new List <Task>(); foreach (var @event in events) { var subscriptions = subscriptionsRepository.GetAll(topic) .Where(s => s.EventTypes == null || s.EventTypes.Contains(@event.EventType)) .Select(s => subscriberEventDispatcher.Dispatch(mapper.Map <SubscriptionModel>(s), @event)); dispatcherTasks.AddRange(subscriptions); } await Task.WhenAll(dispatcherTasks); }
public IEnumerable <SubscriptionDTO> GetAll() => subscriptionsRepository.GetAll();
public IEnumerable <Models.OfficeSubscription> GetAllSubscriptions() { return(SubscriptionsRepository.GetAll()); }