public static OrderPaginationParams ConvertToOrderPagination(this OrderPaginationParams _params, HttpContext context) { _params.UserId = context.Request.Headers["UserId"]; _params.ProductId = context.Request.Headers["ProductId"]; _params.Status = context.Request.Headers["Status"].Select(item => (OrderStatusEnum)int.Parse(item)).FirstOrDefault(); _params.Category = context.Request.Headers["Category"].Select(item => (BookCategoryEnum)int.Parse(item)).FirstOrDefault(); return(_params); }
private IQueryable <Order> Filter(OrderPaginationParams pageParams) { return(FindByExpression(item => ((pageParams.MinDateTime == null) || item.CreatedDate >= pageParams.MinDateTime) && ((pageParams.MaxDateTime == null) || item.CreatedDate <= pageParams.MaxDateTime) && (pageParams.Category == null || item.Product.Category == pageParams.Category) && (pageParams.Status == null || item.status == pageParams.Status) && ((string.IsNullOrEmpty(pageParams.UserId) || item.UserId == pageParams.UserId)))); }
public async Task <PagedList <Order> > GetOrderPerPageAsync(OrderPaginationParams pageParams) { var filteredSource = Filter(pageParams).Include(o => o.User).Include(o => o.Product); return(await PagedList <Order> .ToPagedList(filteredSource, pageParams.Pagenumber, pageParams.Pagesize)); }