private async System.Threading.Tasks.Task <InstituteListVM> GetElementsAsync(int?page, string keyword) { var vm = new InstituteListVM() { Keyword = keyword, PageIndex = page ?? 1, PageSize = SettingsManager.Article.PageSize }; var query = _db.Institutes.AsQueryable(); if (!string.IsNullOrEmpty(keyword)) { query = query.Where(d => d.Title.Contains(keyword)); } var list = await query.OrderByDescending(d => d.Importance) .Skip((vm.PageIndex - 1) * vm.PageSize).Take(vm.PageSize).ProjectTo <InstituteVM>().ToListAsync(); //_categoryServices.GetPagedElements(vm.PageIndex-1, vm.PageSize, vm.Keyword, out totalCount); vm.TotalCount = await query.CountAsync(); vm.Institutes = new StaticPagedList <InstituteVM>(list, vm.PageIndex, vm.PageSize, vm.TotalCount);; return(vm); }
// GET: Admin/Institute public async Task <ActionResult> Index(int?page, string keyword) { InstituteListVM categoryListVM = await GetElementsAsync(page, keyword); ViewBag.PageSizes = new SelectList(Site.PageSizes()); return(View(categoryListVM)); }