Exemplo n.º 1
0
        public QueryProviderResult Execute(GreetingHistory query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            if (query == null)
            {
                //Todo: Perhaps throw apropriate exception
                return(result);
            }

            result.Items = new List <GreetingHistory> {
                query
            };

            result.TotalItems = 1;

            return(result);
        }
Exemplo n.º 2
0
        public QueryProviderResult Execute(DataCollector query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            if (query == null)
            {
                //TODO: Perhaps throw apropriate exception
                return(result);
            }

            result.Items = new List <DataCollector> {
                query
            };

            result.TotalItems = 1;

            return(result);
        }
Exemplo n.º 3
0
        protected static QueryProviderResult MakeQueryProviderResult(T query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            if (query == null)
            {
                //Todo: Perhaps throw apropriate exception
                return(result);
            }

            result.Items = new List <T> {
                query
            };

            result.TotalItems = 1;

            return(result);
        }
Exemplo n.º 4
0
        public QueryProviderResult Execute(IQueryOver query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            if (paging.Enabled)
            {
                result.TotalItems = (int)query.RootCriteria.SetProjection(Projections.Count("*")).UniqueResult(); // .FutureValue<int>(); //

                query.RootCriteria.SetFirstResult(paging.Size * paging.Number);
                query.RootCriteria.SetMaxResults(paging.Size);
            }
            result.Items = query.RootCriteria.List();

            // For Total Items - idea
            // http://ayende.com/blog/2334/paged-data-count-with-nhibernate-the-really-easy-way


            return(result);
        }
Exemplo n.º 5
0
        public QueryProviderResult Execute(IQueryable <T> query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            result.TotalItems = query.Count();

            if (paging.Enabled)
            {
                var start = paging.Size * paging.Number;
                var end   = paging.Size;
                if (query.IsTakeEndIndex())
                {
                    end += start;
                }
                query = query.Skip(start).Take(end);
            }

            result.Items = query.AsEnumerable();

            return(result);
        }
Exemplo n.º 6
0
        public QueryProviderResult Execute(IAsyncCursor <DataCollector> query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            if (!query.Any())
            {
                return(result);
            }

            var list = query.ToList();

            if (paging.Enabled)
            {
                var start = paging.Size * paging.Number;
                list = list.Skip(start).Take(paging.Size).ToList();
            }

            result.Items      = list;
            result.TotalItems = list.Count;

            return(result);
        }
        public QueryProviderResult Execute(IEnumerable <DataCollector> query, PagingInfo paging)
        {
            var result = new QueryProviderResult();

            var dataCollectors = query.ToList();

            if (!dataCollectors.Any())
            {
                return(result);
            }

            if (paging.Enabled)
            {
                var start = paging.Size * paging.Number;
                dataCollectors = dataCollectors.Skip(start).Take(paging.Size).ToList();
            }

            result.Items      = dataCollectors;
            result.TotalItems = dataCollectors.Count;

            return(result);
        }
Exemplo n.º 8
0
#pragma warning disable 1591 // Xml Comments
        public QueryProviderResult Execute(IDocumentQuery query, PagingInfo paging)
        {
            var queryable = query as IQueryable;
            var result    = new QueryProviderResult();

            var collection = _connection.GetCollectionFor(queryable.ElementType);

            _connection.Client.ReadDocumentFeedAsync(collection.DocumentsLink)
            .ContinueWith(r => result.TotalItems)
            .Wait();

            /*
             * Todo: As of 12th of October - this is not supported by the DocumentDB Linq Provider or DocumentDB itself!
             * if (paging.Enabled)
             * {
             *  var start = paging.Size * paging.Number;
             *  queryable = queryable.Skip(start).Take(paging.Size);
             * }*/

            result.Items = queryable;

            return(result);
        }