public static BasePaginationParams ConvertToBasePagination(this BasePaginationParams _params, HttpContext context) { _params.Pagenumber = int.Parse(context.Request.Headers["PageNumber"]); _params.Pagesize = int.Parse(context.Request.Headers["PageSize"]); _params.MinDateTime = DateTime.Parse(context.Request.Headers["minDateTime"]); _params.MaxDateTime = DateTime.Parse(context.Request.Headers["maxDateTime"]); return(_params); }
private void FillPagination(BasePaginationParams parameters, int totalCount) { this.Pagination.CurrentPage = parameters.page; this.Pagination.PageSize = parameters.size; this.Pagination.TotalCount = totalCount; this.Pagination.TotalPages = (int)Math.Ceiling(totalCount / (double)parameters.size); if (this.Pagination.CurrentPage > this.Pagination.TotalPages) { throw new ArgumentException("The current page cannot be greater than total pages size"); } }
public PagedResponse <T> ToPagedResponse <TIn>(IQueryable <TIn> data, BasePaginationParams pagination, Func <object, IEnumerable <T> > convert) where TIn : class { if (convert == null) { throw new ArgumentException("Convert function cannot be null"); } FillPagination(pagination, data.Count()); IEnumerable <TIn> pagedResponse = data.Skip((pagination.page - 1) * pagination.size).Take(pagination.size); this.Data = convert(pagedResponse.ToList()); return(this); }
private void ToPagedResponse(IQueryable <T> data, BasePaginationParams pagination) { FillPagination(pagination, data.Count()); this.Data = data.Skip((pagination.page - 1) * pagination.size).Take(pagination.size).ToList(); }
private void ToPagedResponse(IEnumerable <T> data, BasePaginationParams pagination) { FillPagination(pagination, data.Count()); }
public PagedResponse(IQueryable <T> data, BasePaginationParams parameters) : this() { ToPagedResponse(data, parameters); }