Esempio n. 1
0
        public static PagingResult <T> ApplyPaging <T>(this IEnumerable <T> input, PagingParameters pagingParameters)
        {
            var totalCount = input.Count();

            return(PagingResult.Create(input.Skip(pagingParameters.Offset).Take(pagingParameters.Limit).ToList(),
                                       pagingParameters.Offset, totalCount));
        }
Esempio n. 2
0
        public static PagingResult <T> ToPagedResult <T>(this IEnumerable <T> input, PagingParameters pagingParameters)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }
            if (pagingParameters == null)
            {
                throw new ArgumentNullException(nameof(pagingParameters));
            }

            var offset = pagingParameters.Cursor.IsStart ? 0 : long.Parse(pagingParameters.Cursor.ToString());

            var totalCount = input.LongCount();

            var resultItems = input.Skip((int)offset).Take(pagingParameters.Limit).ToList();

            var continuationCursor = PagingCursor.FromOffset(offset + resultItems.Count);

            return(new PagingResult <T>(resultItems, totalCount, continuationCursor));
        }