Example #1
0
        private async Task <LaboratoryListVM> GetElementsAsync(int?page, int?instituteId, string keyword)
        {
            var vm = new LaboratoryListVM()
            {
                InstituteId = instituteId,
                Keyword     = keyword,
                PageIndex   = page ?? 1,
                PageSize    = 10
            };
            var query = _db.Laboratories.Include(d => d.Institute).AsQueryable();

            if (instituteId > 0)
            {
                query = query.Where(d => d.InstituteId == instituteId);
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                query = query.Where(d => d.Title.Contains(keyword));
            }

            var pagelist = await query.OrderByDescending(d => d.Id).Skip((vm.PageIndex - 1) * vm.PageSize).Take(vm.PageSize).ProjectTo <LaboratoryVM>().ToListAsync();


            vm.TotalCount = await query.CountAsync();

            vm.Laboratories = new StaticPagedList <LaboratoryVM>(pagelist, vm.PageIndex, vm.PageSize, vm.TotalCount);;
            return(vm);
        }
Example #2
0
        // GET: Admin/Laboratories
        public async Task <ActionResult> Index(int?page, int?instituteId, string keyword)
        {
            LaboratoryListVM vm = await GetElementsAsync(page, instituteId, keyword);

            ViewBag.PageSizes = new SelectList(Site.PageSizes());

            var categoryList = await _db.Institutes.OrderByDescending(c => c.Importance).ToListAsync();

            ViewBag.Institutes = new SelectList(categoryList, "Id", "Title");

            return(View(vm));
        }