public ActionResult JogosDisponiveis(string nome, string ordem = "Título(A-Z)") { repositorio = FabricaDeModulos.CriarJogoRepositorio(); var model = new RelatorioModel(); bool buscarPorNome = !string.IsNullOrEmpty(nome); IList<Jogo> listaDeJogos; if (buscarPorNome) { listaDeJogos = repositorio.BuscarPorNome(nome); } else { listaDeJogos = repositorio.BuscarTodos(); } if (listaDeJogos.Count > 0) { ViewBag.Ordem = ordem; IOrderedEnumerable<Jogo> listaOrdenada = null; if (ordem == "Título(A-Z)") { listaOrdenada = listaDeJogos.OrderBy(j => j.Nome); } else if (ordem == "Título(Z-A)") { listaOrdenada = listaDeJogos.OrderByDescending(j => j.Nome); } foreach (var jogo in listaOrdenada) { var jogoModel = new JogoModel() { Id = jogo.Id, Nome = jogo.Nome, Categoria = jogo.Categoria.ToString(), Imagem = jogo.Imagem, Selo = jogo.Selo }; model.Jogos.Add(jogoModel); } model.QuantidadeTotalDeJogos = model.Jogos.Count; } return View(model); }