public Task <EventSubscription> GetFirstOpenSubscription(string eventName, string eventKey, DateTime asOf) { var data = _subscriptionContainer.Value.GetItemLinqQueryable <PersistedSubscription>(true) .FirstOrDefault(x => x.ExternalToken == null && x.EventName == eventName && x.EventKey == eventKey && x.SubscribeAsOf <= asOf); return(Task.FromResult(PersistedSubscription.ToInstance(data))); }
public Task <IEnumerable <EventSubscription> > GetSubscriptions(string eventName, string eventKey, DateTime asOf) { var data = _subscriptionContainer.Value.GetItemLinqQueryable <PersistedSubscription>(true) .Where(x => x.EventName == eventName && x.EventKey == eventKey && x.SubscribeAsOf <= asOf) .ToList() .Select(x => PersistedSubscription.ToInstance(x)); return(Task.FromResult(data.AsEnumerable())); }
public async Task <IEnumerable <EventSubscription> > GetSubscriptions(string eventName, string eventKey, DateTime asOf, CancellationToken cancellationToken) { var subscriptions = new List <EventSubscription>(); using (FeedIterator <PersistedSubscription> feedIterator = _subscriptionContainer.Value.GetItemLinqQueryable <PersistedSubscription>() .Where(x => x.EventName == eventName && x.EventKey == eventKey && x.SubscribeAsOf <= asOf) .ToFeedIterator()) { while (feedIterator.HasMoreResults) { foreach (var item in await feedIterator.ReadNextAsync(cancellationToken)) { subscriptions.Add(PersistedSubscription.ToInstance(item)); } } } return(subscriptions); }
public async Task <EventSubscription> GetFirstOpenSubscription(string eventName, string eventKey, DateTime asOf, CancellationToken cancellationToken) { EventSubscription eventSubscription = null; using (FeedIterator <PersistedSubscription> feedIterator = _subscriptionContainer.Value.GetItemLinqQueryable <PersistedSubscription>() .Where(x => x.ExternalToken == null && x.EventName == eventName && x.EventKey == eventKey && x.SubscribeAsOf <= asOf) .ToFeedIterator()) { while (feedIterator.HasMoreResults && eventSubscription == null) { foreach (var item in await feedIterator.ReadNextAsync(cancellationToken)) { eventSubscription = PersistedSubscription.ToInstance(item); } } } return(eventSubscription); }
public async Task <EventSubscription> GetSubscription(string eventSubscriptionId) { var resp = await _subscriptionContainer.Value.ReadItemAsync <PersistedSubscription>(eventSubscriptionId, new PartitionKey(eventSubscriptionId)); return(PersistedSubscription.ToInstance(resp.Resource)); }