public IActionResult List(string categoria) { string _categoria = categoria; IEnumerable <Receita> receitas; string categoriaAtual = string.Empty; if (string.IsNullOrEmpty(categoria)) { receitas = _receitaRepository.Receitas.OrderBy(r => r.Id); categoriaAtual = "Todos as receitas"; } else { receitas = _receitaRepository.Receitas.Where(r => r.CategoriaId.Equals(categoria)).OrderBy(r => r.Nome); if (string.Equals("Doce", _categoria, StringComparison.OrdinalIgnoreCase)) { receitas = _receitaRepository.Receitas.Where(r => r.CategoriaId.Equals(1)).OrderBy(r => r.Nome); } else { receitas = _receitaRepository.Receitas.Where(r => r.CategoriaId.Equals(2)).OrderBy(r => r.Nome); } categoriaAtual = categoria; } var receitasListViewModel = new ReceitasListViewModel { Receitas = receitas, CategoriaAtual = categoriaAtual }; return(View(receitasListViewModel)); }
// GET: Receitas public async Task <IActionResult> Index(ReceitasListViewModel model = null, int page = 1) { string nome = null; if (model != null) { nome = model.CurrentName; //page = 1; } var receita = _context.Receita.Include(r => r.medico).Include(r => r.utente) .Where(p => nome == null || p.medico.Nome.Contains(nome)); int numReceitas = await receita.CountAsync(); if (page > (numReceitas / PAGE_SIZE) + 1) { page = 1; } var ReceitasList = await receita .OrderBy(p => p.ReceitaId) .Skip(PAGE_SIZE * (page - 1)) .Take(PAGE_SIZE) .ToListAsync(); return(View( new ReceitasListViewModel { Receitas = ReceitasList, Pagination = new PagingViewModel { CurrentPage = page, PageSize = PAGE_SIZE, Totaltems = numReceitas }, CurrentName = nome } )); //var servicoDomicilioDbContext = _context.Receita.Include(r => r.medico).Include(r => r.utente); // return View(await servicoDomicilioDbContext.ToListAsync()); }