SenseNet.Search.ContentQuery.GetIdResultsWithLucQuery C# (CSharp) Метод

GetIdResultsWithLucQuery() приватный Метод

private GetIdResultsWithLucQuery ( int top, int skip, IEnumerable sort, bool enableAutofilters, bool enableLifespanFilter ) : IEnumerable
top int
skip int
sort IEnumerable
enableAutofilters bool
enableLifespanFilter bool
Результат IEnumerable
        private IEnumerable<int> GetIdResultsWithLucQuery(int top, int skip, IEnumerable<SortInfo> sort,
            bool? enableAutofilters, bool? enableLifespanFilter)
        {
            var queryText = Text;

            if (!queryText.Contains("}}"))
            {
                var query = LucQuery.Parse(queryText);
                if (skip != 0)
                    query.Skip = skip;

                query.Top = System.Math.Min(top == 0 ? int.MaxValue : top, query.Top == 0 ? int.MaxValue : query.Top);
                if (query.Top == 0)
                    query.Top = GetDefaultMaxResults();

                query.PageSize = query.Top;

                if (sort != null && sort.Count() > 0)
                    query.SetSort(sort);

                if (enableAutofilters.HasValue)
                    query.EnableAutofilters = enableAutofilters.Value;
                if (enableLifespanFilter.HasValue)
                    query.EnableLifespanFilter = enableLifespanFilter.Value;

                //Re-set settings values. This is important for NodeList that
                //uses the paging info written into the query text.
                this.Settings.Top = query.PageSize;
                this.Settings.Skip = query.Skip;
                //this.Settings.Sort = we don't need this

                this.TraceInfo = new[] { query.TraceInfo };

                var lucObjects = query.Execute().ToList();

                TotalCount = query.TotalCount;

                return (from luco in lucObjects
                        select luco.NodeId).ToList();
            }
            else
            {
                List<string> log;
                int count;
                IEnumerable<QueryTraceInfo> traceInfo;
                var result = RecursiveExecutor.ExecuteRecursive(queryText, top, skip,
                            sort, enableAutofilters, enableLifespanFilter, this.Settings, out count, out log, out traceInfo);

                TotalCount = count;

                this.TraceInfo = traceInfo;

                return result;
            }
        }
        private IEnumerable<int> GetIdResultsWithNodeQuery(ExecutionHint hint, int top, int skip, IEnumerable<SortInfo> sort,