// // GET: /Map/ public ActionResult Index() { tcc_imoveisEntities tcc = new tcc_imoveisEntities(); ObjectResult<TipoDado_Result> listaTipoDadoCondicoes = tcc.ListaTipoDadoCondicoes(); Hashtable grupoTipoCondicao = new Hashtable(); List<string> tipos; foreach (var tipoCondicao in listaTipoDadoCondicoes.ToList()) { //verifica se existe o ID do tipo de dado na hashtable if (grupoTipoCondicao.ContainsKey(tipoCondicao.idtipo_dado)) { //adiciona um item na lista de condicoes existentes para o tipo de dado acima. ((List<string>)grupoTipoCondicao[tipoCondicao.idtipo_dado]).Add(tipoCondicao.idpesquisa_condicoes); } else { //cria uma lista temporaria tipos = new List<string>(); //adiciona uma condicao na lista tipos.Add(tipoCondicao.idpesquisa_condicoes); //adiciona a lista na hastable grupoTipoCondicao.Add(tipoCondicao.idtipo_dado, tipos); } } ViewBag.grupoTipoCondicao = grupoTipoCondicao; ObjectResult<AtributosGerais_Result> atributos = tcc.ListaAtributosGerais(); ViewBag.atributos = atributos.ToList(); return View(); }
public ActionResult PesquisaTempoReal() { tcc_imoveisEntities tcc = new tcc_imoveisEntities(); ObjectResult<AtributosGerais_Result> atributos = tcc.ListaAtributosGerais(); var listAtributos = atributos.ToList(); string sessionId = System.Web.HttpContext.Current.Session.SessionID; ObjectResult<int?> insert = tcc.InserePesquisa(sessionId, "runtime_search_" + sessionId); List<int?> id = insert.ToList(); if (id.ElementAt(0) != null) { int idPesquisa = Convert.ToInt32(id.ElementAt(0)); System.Web.HttpContext.Current.Session.Add("pesquisa_id", idPesquisa); //varre os atributos validos no banco de dados foreach (var atributo in listAtributos) { //varre as chaves vindas do post foreach (string key in Request.Form.AllKeys) { //verifica se as chaves são validas //verifica se o valor recuperado por post é referente a atributo.IdTipoDado if (Regex.IsMatch(key, @"^" + atributo.IdImovelAtributoTipo.ToString() + "_[0-2]")) { if (!string.IsNullOrEmpty(Request.Form[key])) { string valor = Request.Form[key]; string condicao = Request["condicao_" + key]; tcc.InsereAtributoPesquisa(idPesquisa, atributo.IdImovelAtributoTipo, HttpUtility.HtmlDecode(condicao), valor); } } } } //verifica se foi passado um poligono para ser gravado //verifica se a string esta no formato de poligono if (!string.IsNullOrEmpty(Request.Form["polygon"]) && Util.IsPolygon(Request.Form["polygon"])) { string poligono = Util.ToPolygon(Request["polygon"]); tcc.InserePoligono(idPesquisa, Util.ToPolygon(poligono)); } //verifica se contem um ponto central para busca por raio //verifica se existeu ma distancia para busca por raio if (!string.IsNullOrEmpty(Request.Form["ponto_central"]) && !string.IsNullOrEmpty(Request.Form["distancia"])) { string ponto = Request.Form["ponto_central"]; // if (Util.IsPolygon(ponto)) { } ponto = "POINT" + ponto.Replace(",", ""); string distancia = Request.Form["distancia"]; tcc.InsereRaio(idPesquisa, ponto, distancia); } return RedirectToAction("ListaResult", new { id = idPesquisa }); } return RedirectToAction("/Map/BuscaGeral"); }