コード例 #1
0
        public IEnumerable <ListItem> GetItems(QueryModel queryModel, bool isLast, bool fieldValuesAsText, out string pagingInfo)
        {
            var spView = GetView(queryModel);

            if (isLast && spView != null && spView.Limit <= 0)
            {
                spView.Limit = 1;
                if (spView.Query.OrderBy != null)
                {
                    foreach (CamlFieldRef orderby in spView.Query.OrderBy)
                    {
                        orderby.Ascending = !orderby.Ascending;
                    }
                }
                else
                {
                    spView.Query.OrderBy = new Caml.Clauses.CamlOrderBy();
                }
                if (!spView.Query.OrderBy.Any())
                {
                    spView.Query.OrderBy.Add("ID", false);
                }
            }
            if (SpQueryArgs.SkipResult)
            {
                pagingInfo = null;
                return(Enumerable.Empty <ListItem>());
            }
            return(_manager.GetItems(spView, fieldValuesAsText, out pagingInfo));
        }