Пример #1
0
        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());
        }