コード例 #1
0
 public async Task <List <TourPackage> > GetPackagesPaginatedAsync(int pageIndex, int pageSize, BangladeshDivisions selectedDivision, bool priceASC)
 {
     return(await _tourPackageUnitOfWork.TourPackageRepository.GetPackagesPaginatedAsync(pageIndex, pageSize, selectedDivision, priceASC));
 }
コード例 #2
0
        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);
        }