private IQueryable <ProductTierTransferReport> AddFilterOnQuery( GetAllProductTierTransferReportsFilter filter, IQueryable <ProductTierTransferReport> queryable ) { queryable = queryable.Where(x => x.IsDeleted == false); if (filter?.FromQuantity != null) { queryable = queryable.Where(x => x.Quantity >= filter.FromQuantity); } if (filter?.ToQuantity != null && filter?.ToQuantity > 0) { queryable = queryable.Where(x => x.Quantity <= filter.ToQuantity); } if (filter?.FromTierId != null && filter?.FromTierId > 0) { queryable = queryable.Where(x => x.FromTierId == filter.FromTierId); } if (filter?.ToTierId != null && filter?.ToTierId > 0) { queryable = queryable.Where(x => x.Quantity == filter.ToTierId); } return(queryable); }
public async Task <int> CountAllAsync( PaginationFilter pagination, GetAllProductTierTransferReportsFilter filter) { var queryable = _context.ProductTierTransferReports.AsQueryable(); queryable = AddFilterOnQuery(filter, queryable); return(await queryable.CountAsync()); }
/** GET ALL ASYNC */ public async Task <IEnumerable <ProductTierTransferReport> > GetAllAsync( PaginationFilter pagination, GetAllProductTierTransferReportsFilter filter) { var queryable = _context.ProductTierTransferReports.AsQueryable(); queryable = AddFilterOnQuery(filter, queryable); var skip = (pagination.PageNumber - 1) * pagination.PageSize; return(await queryable .Skip(skip) .Take(pagination.PageSize) .Include(pttr => pttr.ProductTier) .ThenInclude(pt => pt.Product) .Include(pttr => pttr.StorageManager) .ToListAsync()); }