public ActionResult Pagina(int? id, string busca) { var homeViewModel = new HomeViewModel(); var indicePagina = id == null ? 1 : (int)id; Dictionary<string, string> parametros = new Dictionary<string, string>(); parametros.Add("busca", busca); MontarView(homeViewModel, indicePagina, parametros); return View(homeViewModel); }
private void MontarView(HomeViewModel homeViewModel, int indicePagina, Dictionary<string, string> parametros) { if (string.IsNullOrEmpty(parametros["busca"])) { MontarView(homeViewModel, indicePagina, null, parametros); } else { var queryParametro = parametros["busca"].ToString(); MontarView(homeViewModel, indicePagina, pref => pref.Nome.Contains(queryParametro), parametros); } }
private void MontarView(HomeViewModel homeViewModel, int indicePagina, Expression<Func<Modelo.Prefeitura, bool>> expressao, Dictionary<string,string> parametros) { PrefeituraRepositorio prefeituraRepositorio = new PrefeituraRepositorio(); homeViewModel.TotalPrefeitura = prefeituraRepositorio.BuscarColecao(null).Count(); homeViewModel.TotalPrefeiturasRegulamentados = prefeituraRepositorio.BuscarColecao(pref => pref.Aderencia >= 75).Count(); homeViewModel.TotalPrefeiturasPendentes = prefeituraRepositorio.BuscarColecao(pref => pref.Aderencia < 75).Count(); homeViewModel.Prefeituras = prefeituraRepositorio.BuscarColecao(expressao).Paginacao(indicePagina, _quantidadePaginaExibir).ToList().Conveter(); ///////////// configuração da paginação ///////////// homeViewModel.Paginacao = new Site.ViewModel.Paginacao(); homeViewModel.Paginacao.Controller = "Prefeitura"; homeViewModel.Paginacao.Action = "Pagina"; homeViewModel.Paginacao.Parametros = parametros; homeViewModel.Paginacao.IndiceAtual = indicePagina; homeViewModel.Paginacao.TotalRegistro = prefeituraRepositorio.BuscarColecao(expressao).Count(); homeViewModel.Paginacao.QuantidadeRegistroExibicao = _quantidadePaginaExibir; homeViewModel.Paginacao.QuantidadePaginacaoExibicao = _quantidadePaginacaoExibir; }