public ActionResult _Busca() { ViewBag.ddlObjetoArea = new SelectList(_objetoAreaApp.ObterTodos(), "Id", "Nome"); ViewBag.ddlObjetoTipo = new SelectList(_objetoTipoApp.ObterTodos(), "Id", "Nome"); var viewModel = new FormBusca(); return View(viewModel); }
/* public ActionResult Index() { return View(); } */ public ActionResult Buscar(FormBusca viewModel) { var listaDeObjetos = _objetoApp.ObterTodosOsAtivos(); if (!string.IsNullOrEmpty(viewModel.Nome)) listaDeObjetos = listaDeObjetos.Where(o => o.Nome.Contains(viewModel.Nome)); if (viewModel.ObjetoAreaId > 0) listaDeObjetos = listaDeObjetos.Where(o => o.ListaAreasDeConhecimento .Any(a => a.Id == viewModel.ObjetoAreaId)); if (viewModel.ObjetoTipoId > 0) listaDeObjetos = listaDeObjetos.Where(o => o.ObjetoTipoId == viewModel.ObjetoTipoId); var resultadoBusca = new ResultadoBusca { ListaObjetos = listaDeObjetos, Filtros = new Filtros() }; //Filtro - Área de conhecimento var todasAsAreasDeConhecimento = _objetoAreaDeConhecimentoApp.RecuperarUtilizadas(); foreach (var areaDeConhecimento in todasAsAreasDeConhecimento) { var areaViewModel = new SelectFiltroAreaDeConhecimento(areaDeConhecimento); if (areaViewModel.Id == viewModel.ObjetoAreaId) areaViewModel.Selected = true; resultadoBusca.Filtros.AdicionarAreaDeConhecimento(areaViewModel); } //Filtro Tipo var todosOsTipos = _objetoTipoApp.ObterTodos(); foreach (var tipo in todosOsTipos) { var listaDeCategoriasFiltro = Mapper.Map<IEnumerable<ObjetoCategoria>, IEnumerable<SelectFiltroCategoria>>(tipo.ListaCategorias).ToList(); var tipoViewModel = new SelectFiltroTipo(tipo, listaDeCategoriasFiltro); if (tipoViewModel.Id == viewModel.ObjetoTipoId) tipoViewModel.Selected = true; resultadoBusca.Filtros.AdicionarTipo(tipoViewModel); } return View(resultadoBusca); }