// GET: Enfermeiro public async Task <IActionResult> Index(EnfermeirosListViewModel model = null, int page = 1) { string category = null; if (model != null) { category = model.CurrentNome; page = 1; } var enfermeiros = _context.Enfermeiros .Where(p => category == null || p.Nome.Contains(category)); int numEnfermeiros = await enfermeiros.CountAsync(); if (page > (numEnfermeiros / PAGE_SIZE) + 1) { page = 1; } var enfermeirosList = await enfermeiros .OrderBy(p => p.Nome) .Skip(PAGE_SIZE * (page - 1)) .Take(PAGE_SIZE) .ToListAsync(); return(View( new EnfermeirosListViewModel { Enfermeiros = enfermeirosList, Paginacao = new PagingViewModel { CurrentPage = page, PageSize = PAGE_SIZE, TotalItems = numEnfermeiros }, CurrentNome = category } )); }
// GET: Enfermeiros public async Task <IActionResult> Index(EnfermeirosListViewModel model = null, int page = 1, string order = null) { string name = null; if (model != null) { name = model.CurrentName; } var enfermeiros = _context.Enfermeiros .Where(p => name == null || p.Nome.Contains(name)) .Include(p => p.Especialização); int numEnfermeiros = await enfermeiros.CountAsync(); IEnumerable <Enfermeiros> enfermeirosList; if (order == "name") { enfermeirosList = await enfermeiros .OrderBy(p => p.Nome) .Skip(PAGE_SIZE * (page - 1)) .Take(PAGE_SIZE) .ToListAsync(); } else if (order == "especialização") { enfermeirosList = await enfermeiros .OrderBy(p => p.Especialização) .Skip(PAGE_SIZE * (page - 1)) .Take(PAGE_SIZE) .ToListAsync(); } else { enfermeirosList = await enfermeiros .OrderBy(p => p.Nome) .Skip(PAGE_SIZE * (page - 1)) .Take(PAGE_SIZE) .ToListAsync(); } return(View( new EnfermeirosListViewModel { Enfermeiro = enfermeirosList, Pagination = new PagingViewModel { CurrentPage = page, PageSize = PAGE_SIZE, Totaltems = numEnfermeiros, Order = order }, CurrentName = name, } )); //var servicoDomicilioDbContext = _context.Enfermeiros.Include(e => e.Especialização); //return View(await servicoDomicilioDbContext.ToListAsync()); }