public PartialViewResult GridPagamentos(string ordenacao, string stringPesquisa, int? pagina, string filtroAtual) { ViewBag.OrdenacaoAtual = ordenacao; ViewBag.NomeOrdenacao = string.IsNullOrEmpty(ordenacao) ? "nome_desc" : ""; ViewBag.TipoPagamentoOrdernacao = ordenacao == "tipo_pag_desc" ? "tipo_pag_cre" : "tipo_pag_desc"; ViewBag.ValorOrdernacao = ordenacao == "valor_desc" ? "valor_cre" : "valor_desc"; ViewBag.DataPagamentoOrdernacao = ordenacao == "data_pag_desc" ? "data_pag_cre" : "data_pag_desc"; if (stringPesquisa != null) { pagina = 1; } else { stringPesquisa = filtroAtual; } ViewBag.FiltroAtual = stringPesquisa; TempData["Menu"] = "pagamentos"; List<PagamentoViewModel> pagamentoViewModels = new List<PagamentoViewModel>(); try { var pag = _pagamentoAppService.GetAll(); pagamentoViewModels = Mapper.Map<List<Pagamento>, List<PagamentoViewModel>>(_pagamentoAppService.GetAll()); } catch (DbEntityValidationException ex) { string errors = ""; foreach (var eve in ex.EntityValidationErrors) { errors += "Entity of type " + eve.Entry.Entity.GetType().Name + " in state " + eve.Entry.State + " has the following validation errors:\n"; foreach (var ve in eve.ValidationErrors) { errors += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + "\n"; } } throw new Exception(errors); } catch (AutoMapperMappingException ex) { throw ex; } catch (Exception ex) { throw ex; } switch (ordenacao) { case "nome_desc": pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.Funcionario.Nome).ToList(); break; case "nome_cre": pagamentoViewModels = pagamentoViewModels.OrderBy(f => f.Funcionario.Nome).ToList(); break; case "tipo_pag_desc": pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.TipoPagamento.Descricao).ToList(); break; case "tipo_pag_cre": pagamentoViewModels = pagamentoViewModels.OrderBy(f => f.TipoPagamento.Descricao).ToList(); break; case "data_pag_desc": pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.DataPagamento).ToList(); break; case "data_pag_cre": pagamentoViewModels = pagamentoViewModels.OrderBy(f => f.DataPagamento).ToList(); break; case "setor_desc": pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.Funcionario.Setor).ToList(); break; case "setor_cre": pagamentoViewModels = pagamentoViewModels.OrderBy(f => f.Funcionario.Setor).ToList(); break; case "valor_desc": pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.Valor).ToList(); break; case "valor_cre": pagamentoViewModels = pagamentoViewModels.OrderBy(f => f.Valor).ToList(); break; default: pagamentoViewModels = pagamentoViewModels.OrderByDescending(f => f.Funcionario.Nome).ToList(); break; } int paginaTamanho = 5; int paginaNumero = (pagina ?? 1); return PartialView(pagamentoViewModels.ToPagedList(paginaNumero, paginaTamanho)); }
// GET: Pagamento public ActionResult Index() { return(View(_app.GetAll())); }