public List <ArquivoProjeto> ObterArquivosOrtofotoWebService(ProjetoGeografico projeto) { List <ArquivoProjeto> arquivosOrtofotos = new List <ArquivoProjeto>(); try { RequestJson requestJson = new RequestJson(); GerenciadorConfiguracao <ConfiguracaoSistema> _config = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema()); string urlGeoBasesWebService = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices); string geoBasesChave = _config.Obter <string>(ConfiguracaoSistema.KeyGeoBasesWebServicesAutencicacaoChave); ResponseJsonData <dynamic> resp = requestJson.Executar <dynamic>(urlGeoBasesWebService + "/Autenticacao/LogOn", RequestJson.GET, new { chaveAutenticacao = geoBasesChave }); if (resp.Erros != null && resp.Erros.Count > 0) { Validacao.Erros.AddRange(resp.Erros); return(null); } string mbrWkt = String.Format("POLYGON (({0} {1}, {2} {1}, {2} {3}, {0} {3}, {0} {1}))", projeto.MenorX.ToString(NumberFormatInfo.InvariantInfo), projeto.MenorY.ToString(NumberFormatInfo.InvariantInfo), projeto.MaiorX.ToString(NumberFormatInfo.InvariantInfo), projeto.MaiorY.ToString(NumberFormatInfo.InvariantInfo)); resp = requestJson.Executar <dynamic>(urlGeoBasesWebService + "/Ortofoto/ObterOrtofoto", RequestJson.POST, new { wkt = mbrWkt }); if (resp.Erros != null && resp.Erros.Count > 0) { Validacao.Erros.AddRange(resp.Erros); return(null); } foreach (var item in resp.Data) { arquivosOrtofotos.Add(new ArquivoProjeto() { Nome = Path.GetFileName(item["ArquivoNome"]), Caminho = item["ArquivoNome"], Chave = item["ArquivoChave"], ChaveData = Convert.ToDateTime(item["ArquivoChaveData"]) }); } } catch (Exception exc) { Validacao.AddErro(exc); } return(arquivosOrtofotos); }
public Mensagem VerificarLocalizacaoEmpreendimento(string easting, string northing, int estadoID, int municipioID) { RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); Municipio municipioCoordenada = new Municipio(); resposta = requestJson.Executar <dynamic>(_configCoordenada.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada) + "?easting=" + easting + "&northing=" + northing); if (estadoID != 8 && !Convert.ToBoolean(resposta.Data["EstaNoEstado"])) { return(new Mensagem()); } if (Convert.ToBoolean(resposta.Data["EstaNoEstado"])) { municipioCoordenada = new ListaValoresDa().ObterMunicipio(Convert.ToInt32(resposta.Data["Municipio"]["IBGE"])); } if (municipioCoordenada.Id != municipioID) { return(Msg.MunicipioEmpreendimentoDiferenteResponsavel); } if (estadoID != 8 && Convert.ToBoolean(resposta.Data["EstaNoEstado"])) { return(Msg.MunicipioEmpreendimentoDiferenteResponsavel); } if (estadoID == 8 && !Convert.ToBoolean(resposta.Data["EstaNoEstado"])) { return(Msg.MunicipioEmpreendimentoDiferenteResponsavel); } return(new Mensagem()); }
public string ObterUrlDemonstrativo(int solicitacaoId, int schemaSolicitacao, bool isTitulo) { var urlGerar = _da.ObterUrlGeracaoDemonstrativo(solicitacaoId, schemaSolicitacao, isTitulo) ?? ""; if (String.IsNullOrWhiteSpace(urlGerar)) { return(null); } RequestJson requestJson = new RequestJson(); urlGerar = "http://www.car.gov.br/pdf/demonstrativo/" + urlGerar + "/gerar"; //urlGerar = "http://homolog-car.mma.gov.br/pdf/demonstrativo/" + urlGerar + "/gerar"; var strResposta = requestJson.Executar(urlGerar); var resposta = requestJson.Deserializar <dynamic>(strResposta); if (resposta["status"] != "s") { return(string.Empty); } return(UrlSICAR + resposta["dados"]); // PRODUCAO //return "http://homolog-car.mma.gov.br" + resposta["dados"]; // HOMOLOG }
public ResponseJsonData <dynamic> ObterEstadosMunicipiosPorCoordenada(String easting, String northing) { //CrossDomain case RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); try { resposta = requestJson.Executar <dynamic>(_configCoordenada.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada) + "?easting=" + easting + "&northing=" + northing); if (resposta.Erros != null && resposta.Erros.Count > 0) { Validacao.Erros.AddRange(resposta.Erros); } var objJson = resposta.Data; if (objJson["EstaNoEstado"] && (objJson["Municipio"] == null || Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0) == 0)) { Validacao.Add(Mensagem.Mapas.MunicipioSemRetorno); } } catch (Exception exc) { Validacao.AddErro(exc); } return(resposta); }
public string ObterUrlRecibo(int solicitacaoId, int schemaSolicitacao) { var urlGerar = _da.ObterUrlGeracaoRecibo(solicitacaoId, schemaSolicitacao); RequestJson requestJson = new RequestJson(); var strResposta = requestJson.Executar(urlGerar); var resposta = requestJson.Deserializar <dynamic>(strResposta); if (resposta["status"] != "s") { return(string.Empty); } return(UrlSICAR + resposta["dados"]); }
public string ObterUrlRecibo(int solicitacaoId, int schemaSolicitacao) { var urlGerar = _da.ObterUrlGeracaoRecibo(solicitacaoId, schemaSolicitacao); RequestJson requestJson = new RequestJson(); var strResposta = requestJson.Executar(urlGerar); var resposta = requestJson.Deserializar <dynamic>(strResposta); if (resposta["status"] != "s") { return(string.Empty); } return(UrlSICAR + resposta["dados"]); // PRODUCAO //return "http://homolog-car.mma.gov.br" + resposta["dados"]; // HOMOLOG }
public String GetGeoInfo(Coordenada coordenada) { RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); String webServiceHost = _configCoord.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada); String webServiceUri = new StringBuilder() .Append(webServiceHost) .Append("?easting=") .Append(coordenada.EastingUtm) .Append("&northing=") .Append(coordenada.NorthingUtm) .ToString(); resposta = requestJson.Executar <dynamic>(webServiceUri); return(resposta.Data); }
public Sobreposicoes ObterGeoSobreposiacao(int id, eCaracterizacao tipo) { Sobreposicoes sobreposicoes = new Sobreposicoes(); try { sobreposicoes.DataVerificacao = DateTime.Now.ToString("dd/MM/yyyy - HH:mm", CultureInfo.CurrentCulture.DateTimeFormat); #region Empreendimento Sobreposicao sobreposicaoEmp = _da.ObterGeoSobreposicaoIdaf(id, tipo); if (sobreposicaoEmp == null) { sobreposicaoEmp = CriarObjSobreposicao(string.Empty); sobreposicaoEmp.Identificacao = " - "; } else { sobreposicaoEmp.TipoTexto = SobreposicaoTipo.Single(y => y.Id == (int)sobreposicaoEmp.Tipo).Texto; } sobreposicoes.Itens.Add(sobreposicaoEmp); #endregion #region Feicoes Geobases string ATPWkt = _da.ObterWktATP(id, tipo); string urlGeoBasesWebService = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices); urlGeoBasesWebService = urlGeoBasesWebService + "/Topologia/Relacao"; if (String.IsNullOrEmpty(ATPWkt)) { Validacao.Add(Mensagem.ProjetoGeografico.ATPNaoEncontrada); return(null); } //teste //urlGeoBasesWebService = "http://localhost:33716/Topologia/Relacao"; List <string> feicoes = new List <string>() { "HID_BACIA_HIDROGRAFICA", "LIM_TERRA_INDIGENA", "LIM_UNIDADE_PROTECAO_INTEGRAL", "LIM_UNIDADE_CONSERV_NAO_SNUC", "LIM_OUTRAS_UNID_PROTEGIDAS", "LIM_UNIDADE_USO_SUSTENTAVEL" }; RequestJson request = new RequestJson(); ResponseJsonData <List <FeicaoJson> > responseData = request.Executar <List <FeicaoJson> >(urlGeoBasesWebService, RequestJson.POST, new { feicoes = feicoes, wkt = ATPWkt }); if (responseData.Erros != null && responseData.Erros.Count > 0) { responseData.Erros.Insert(0, new Mensagem() { Tipo = eTipoMensagem.Erro, Texto = "Erro no WebService GeoBases" }); Validacao.Erros.AddRange(responseData.Erros); return(null); } Sobreposicao sobreposicao = null; foreach (var key in feicoes) { sobreposicao = CriarObjSobreposicao(key); if (!responseData.Data.Exists(x => x.Nome == key)) { sobreposicao.Identificacao = " - "; sobreposicoes.Itens.Add(sobreposicao); continue; } FeicaoJson feicaoJson = responseData.Data.First(x => x.Nome == key); List <string> lst = null; if (!feicaoJson.Geometrias.SelectMany(x => x.Atributos).Any(x => x.Nome == "ADMINISTRACAO")) { sobreposicao.Identificacao = String.Join("; ", feicaoJson.Geometrias.SelectMany(x => x.Atributos).Select(x => x.Valor).ToArray()); } else { lst = feicaoJson.Geometrias .Select(x => String.Format("{0} - {1}", x.Atributos.Single(y => y.Nome == "Nome").Valor, x.Atributos.Single(y => y.Nome == "ADMINISTRACAO").Valor)).ToList(); sobreposicao.Identificacao = String.Join("; ", lst.ToArray()); } sobreposicoes.Itens.Add(sobreposicao); } #endregion } catch (Exception exc) { Validacao.AddErro(exc); } return(sobreposicoes); }
public bool Salvar(UnidadeProducao caracterizacao) { try { if (!_validar.Salvar(caracterizacao)) { return(Validacao.EhValido); } #region Configurar Salvar Municipio municipio = _da.ObterMunicipioPropriedade(caracterizacao.Empreendimento.Id); if (!caracterizacao.PossuiCodigoPropriedade) { if (caracterizacao.Id < 1) { int sequencial = _da.ObterSequenciaCodigoPropriedade(); caracterizacao.CodigoPropriedade = UnidadeProducaoGenerator.GerarCodigoPropriedade(municipio.Ibge, sequencial); } else { caracterizacao.CodigoPropriedade = ObterPorEmpreendimento(caracterizacao.Empreendimento.Id, true).CodigoPropriedade; } } RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); UnidadeProducao caracterizacaoBanco = ObterPorEmpreendimento(caracterizacao.Empreendimento.Id); int ultimoCodigoUP = _da.ObterUltimoCodigoUP(caracterizacao.Empreendimento.Id); foreach (long item in caracterizacao.UnidadesProducao.Where(x => x.PossuiCodigoUP).Select(x => x.CodigoUP)) { int aux = Convert.ToInt32(item.ToString().Substring(14)); if (aux > ultimoCodigoUP) { ultimoCodigoUP = aux; } } foreach (UnidadeProducaoItem item in caracterizacao.UnidadesProducao) { int codigoIbge = 0; resposta = requestJson.Executar <dynamic>(_configCoord.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada) + "?easting=" + item.Coordenada.EastingUtm + "&northing=" + item.Coordenada.NorthingUtm); if (resposta.Erros != null && resposta.Erros.Count > 0) { Validacao.Erros.AddRange(resposta.Erros); return(Validacao.EhValido); } if (resposta.Data == null) { throw new Exception(Mensagem.Empreendimento.ErroConexaoMunicipioGeobases.ToString()); } var objJson = resposta.Data; if (objJson["EstaNoEstado"] && (objJson["Municipio"] == null || Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0) == 0)) { Validacao.Add(Mensagem.Mapas.MunicipioSemRetorno); } if (!Validacao.EhValido) { return(Validacao.EhValido); } if (objJson["Municipio"] != null) { codigoIbge = Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0); } ListaValoresDa listaValoresDa = new ListaValoresDa(); item.Municipio = listaValoresDa.ObterMunicipio(codigoIbge); if (!item.PossuiCodigoUP) { item.AnoAbertura = DateTime.Today.Year.ToString().Substring(2); if (item.Id < 1) { ultimoCodigoUP++; item.CodigoUP = UnidadeProducaoGenerator.GerarCodigoUnidadeProducao( item.Municipio.Ibge , caracterizacao.CodigoPropriedade , item.AnoAbertura , ultimoCodigoUP ); } else { item.CodigoUP = caracterizacaoBanco.UnidadesProducao.Single(x => x.Id == item.Id).CodigoUP; } } else { item.AnoAbertura = item.CodigoUP.ToString().Substring(11, 2); } foreach (var aux in item.ResponsaveisTecnicos) { aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString(); } } #endregion if (caracterizacao.UnidadesProducao.Any(x => caracterizacao.UnidadesProducao.Count(y => y.CodigoUP == x.CodigoUP) > 1)) { Validacao.Add(Mensagem.UnidadeProducao.UnidadeProducaoItemIncorreto); return(false); } foreach (var item in caracterizacao.UnidadesProducao) { if (!UnidadeProducaoGenerator.CodigoUpHasCodigoPropriedade(caracterizacao.CodigoPropriedade, item.CodigoUP)) { Validacao.Add(Mensagem.UnidadeProducao.CodigoUPNaoContemCodPropriedade(item.CodigoUP)); return(false); } } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Salvar(caracterizacao, bancoDeDados); Validacao.Add(Mensagem.UnidadeProducao.SalvoSucesso); bancoDeDados.Commit(); } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
public JsonResult ObterEstadosMunicipiosPorCoordenada(String easting, String northing) { //CrossDomain case RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); List <Estado> lstEstados = new List <Estado>(); List <Municipio> lstMunicipios = new List <Municipio>(); Municipio municipio = null; try { resposta = requestJson.Executar <dynamic>(_configCoord.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada) + "?easting=" + easting + "&northing=" + northing); if (resposta.Erros != null && resposta.Erros.Count > 0) { Validacao.Erros.AddRange(resposta.Erros); return(Json(new { Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet)); } var objJson = resposta.Data; if (objJson["EstaNoEstado"] && (objJson["Municipio"] == null || Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0) == 0)) { Validacao.Add(Mensagem.Mapas.MunicipioSemRetorno); } if (!Validacao.EhValido) { return(Json(new { Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet)); } int codigoIbge = 0; if (objJson["Municipio"] != null) { codigoIbge = Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0); } ListaValoresDa _da = new ListaValoresDa(); municipio = _da.ObterMunicipio(codigoIbge); if (municipio.Estado.Sigla != EstadoDefault) { lstEstados = Estados.Where(x => x.Texto != EstadoDefault).ToList(); lstMunicipios = new List <Municipio>(); } else { lstEstados = Estados; lstMunicipios = _configEnd.Obter <Dictionary <int, List <Municipio> > >(ConfiguracaoEndereco.KeyMunicipios)[municipio.Estado.Id]; } } catch (Exception exc) { Validacao.AddErro(exc); } return(Json(new { @Msg = Validacao.Erros, @Estados = lstEstados, @Municipios = lstMunicipios, @Municipio = municipio }, JsonRequestBehavior.AllowGet)); }