Esempio n. 1
0
        // 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());
        }