Exemplo n.º 1
0
        public ActionResult Index(string nome, string ordem, string pesquisa)
        {
            var lista = aplicacao.PesquisarPorNome(nome);

            ViewBag.Pesquisa = string.IsNullOrEmpty(ordem) ? "Nome_Desc" : "Nome";
            ViewBag.Data     = ordem == "Date" ? "Data_Desc" : "Date";

            if (!string.IsNullOrEmpty(pesquisa))
            {
                lista = lista.Where(x => x.Cliente.Nome.ToUpper().Contains(pesquisa.ToUpper()) ||
                                    x.Cliente.Sobrenome.ToUpper().Contains(pesquisa.ToUpper())).ToList();
            }

            switch (ordem)
            {
            case "Nome_Desc":
                lista = lista.OrderByDescending(x => x.Cliente.Nome).ToList();
                break;

            case "Nome":
                lista = lista.OrderBy(x => x.Cliente.Nome).ToList();
                break;

            case "Data_Desc":
                lista = lista.OrderByDescending(x => x.Cliente.DataCadastro).ToList();
                break;

            case "Date":
                lista = lista.OrderBy(x => x.Cliente.DataCadastro).ToList();
                break;

            default:
                lista = lista.OrderBy(x => x.Cliente.Nome).ToList();
                break;
            }


            return(View(lista));
        }