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()));
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
        }