public async Task <int> CountAllAsync( PaginationFilter pagination, GetAllRatingFilter filter = null ) { var queryable = _context.Rates.AsQueryable(); queryable = queryable.Where(x => x.IsDeleted == false); queryable = AddFilterOnQuery(filter, queryable); return(await queryable.CountAsync()); }
private IQueryable <Rating> AddFilterOnQuery( GetAllRatingFilter filter, IQueryable <Rating> queryable ) { queryable = queryable.Where(x => x.IsDeleted == false); if (filter?.ProductId > 0) { queryable = queryable.Where(x => x.ProductTier.ProductId == filter.ProductId); } return(queryable); }
public async Task <IEnumerable <Rating> > GetAllAsync( PaginationFilter pagination, GetAllRatingFilter filter = null ) { var queryable = _context.Rates.AsQueryable(); queryable = AddFilterOnQuery(filter, queryable); var skip = (pagination.PageNumber - 1) * pagination.PageSize; return(await queryable .Where(r => r.IsDeleted == false) .Include(r => r.RatingImages) .Include(r => r.Customer) .Include(pdf => pdf.ProductTier) .ThenInclude(pt => pt.Product) .ThenInclude(p => p.ProductImages) .Skip(skip) .Take(pagination.PageSize) .ToListAsync()); }