public Task <IEnumerable <T> > ExecuteQuery <T>(IDataStoreReadFromQueryable <T> aggregatesQueried)
        {
            //clone otherwise its to easy to change the referenced object in test code affecting results
            var result = aggregatesQueried.Query.ToList().CloneEnumerable();

            return(Task.FromResult(result));
        }
        public async Task <IEnumerable <T> > ExecuteQuery <T>(IDataStoreReadFromQueryable <T> aggregatesQueried)
        {
            var results = new List <T>();

            var documentQuery = aggregatesQueried.Query.AsDocumentQuery();

            while (documentQuery.HasMoreResults)
            {
                var result = await DocumentDbUtils.ExecuteWithRetries(() => documentQuery.ExecuteNextAsync <T>()).ConfigureAwait(false);

                aggregatesQueried.StateOperationCost += result.RequestCharge;

                results.AddRange(result);
            }

            return(results);
        }
Example #3
0
        public Task <IEnumerable <T> > ExecuteQuery <T>(IDataStoreReadFromQueryable <T> aggregatesQueried)
        {
            var results = aggregatesQueried.Query.ToList();

            return(Task.FromResult(results.AsEnumerable()));
        }