public async Task <List <TourPackage> > GetPackagesPaginatedAsync(int pageIndex, int pageSize, BangladeshDivisions selectedDivision, bool priceASC) { return(await _tourPackageUnitOfWork.TourPackageRepository.GetPackagesPaginatedAsync(pageIndex, pageSize, selectedDivision, priceASC)); }
public async Task <List <TourPackage> > GetPackagesPaginatedAsync(int pageIndex, int pageSize, BangladeshDivisions selectedDivision, bool priceASC) { List <TourPackage> query; if (!priceASC) { if (selectedDivision != BangladeshDivisions.ALL) { query = await _DbSet .Include(tp => tp.Spots) .Include(tp => tp.Loves) .Where(tp => tp.Division == selectedDivision.ToString()) .OrderBy(tp => tp.Price) .Skip((pageIndex - 1) * pageSize).Take(pageSize).AsNoTracking().ToListAsync(); } else { query = await _DbSet .Include(tp => tp.Spots) .Include(tp => tp.Loves) .OrderBy(tp => tp.Price) .Skip((pageIndex - 1) * pageSize).Take(pageSize).AsNoTracking().ToListAsync(); } } else { if (selectedDivision != BangladeshDivisions.ALL) { query = await _DbSet .Include(tp => tp.Spots) .Include(tp => tp.Loves) .Where(tp => tp.Division == selectedDivision.ToString()) .OrderByDescending(tp => tp.Price) .Skip((pageIndex - 1) * pageSize).Take(pageSize).AsNoTracking().ToListAsync(); } else { query = await _DbSet .Include(tp => tp.Spots) .Include(tp => tp.Loves) .OrderByDescending(tp => tp.Price) .Skip((pageIndex - 1) * pageSize).Take(pageSize).AsNoTracking().ToListAsync(); } } return(query); }