コード例 #1
0
        public static PaginatedResult <T> Paginate <T>(this IEnumerable <T> query, Pagination pagination)
        {
            if (pagination == null || query == null)
            {
                return(null);
            }

            var result = new PaginatedResult <T>();
            var list   = query.ToList();

            pagination.TotalCount = list.Count;

            result.Items = list
                           .Skip(pagination.ItemsPerPage * (pagination.Page - 1))
                           .Take(pagination.ItemsPerPage)
                           .ToList();

            result.Pagination = pagination;

            return(result);
        }