public async Task <int> CountAllAsync( PaginationFilter pagination, GetAllRequestImportProductsFilter filter) { var queryable = _context.RequestImportProducts.AsQueryable(); queryable = AddFilterOnQuery(filter, queryable); return(await queryable.CountAsync()); }
private IQueryable <RequestImportProduct> AddFilterOnQuery( GetAllRequestImportProductsFilter filter, IQueryable <RequestImportProduct> queryable ) { queryable = queryable.Where(x => x.IsDeleted == false); if (filter?.Status != null && filter?.Status != 0) { queryable = queryable.Where(x => x.Status == filter.Status); } return(queryable); }
public async Task <IEnumerable <RequestImportProduct> > GetAllAsync( PaginationFilter pagination, GetAllRequestImportProductsFilter filter) { var queryable = _context.RequestImportProducts.AsQueryable(); queryable = AddFilterOnQuery(filter, queryable); var skip = (pagination.PageNumber - 1) * pagination.PageSize; return(await queryable .Skip(skip) .Take(pagination.PageSize) .Include(rip => rip.RequestImportDetails) .ThenInclude(rid => rid.ProductTier) .ThenInclude(pt => pt.Product) .ThenInclude(p => p.ProductImages) .ToListAsync()); }