示例#1
0
        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);
        }
示例#2
0
        /*
        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);
        }