internal static void Criar(string CEP, string Resultado, string IDConsulta) { SpartacusMin.Database.Generic database; var cmd = new SpartacusMin.Database.Command(); cmd.v_text = "insert into cache values(#cep#,#retorno#,#dataconsulta#,#idconsultandereco#)"; cmd.AddParameter("cep", SpartacusMin.Database.Type.STRING); cmd.AddParameter("retorno", SpartacusMin.Database.Type.STRING); cmd.AddParameter("dataconsulta", SpartacusMin.Database.Type.STRING); cmd.AddParameter("idconsultandereco", SpartacusMin.Database.Type.INTEGER); cmd.SetValue("cep", CEP); cmd.SetValue("retorno", Resultado, false); cmd.SetValue("dataconsulta", DateTime.Now.ObterDataFormatada()); cmd.SetValue("idconsultandereco", IDConsulta); try { database = new SpartacusMin.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); database.SetExecuteSecurity(false); database.Execute(cmd.GetUpdatedText()); } catch (SpartacusMin.Database.Exception ex) { throw new Exception($"Erro no banco: {ex.v_message}"); } }
internal static void Criar(UF p_UF, string p_Localidade, string p_Logradouro, string p_ResultadoJSON) { var parametros = Formatacao.FormatarStrParametros(p_UF, p_Localidade, p_Logradouro); SpartacusMin.Database.Generic database; var cmd = new SpartacusMin.Database.Command(); cmd.v_text = "insert into ConsultaEndereco (Parametros,DataConsulta) values(#parametros#,#dataconsulta#)"; cmd.AddParameter("parametros", SpartacusMin.Database.Type.STRING); cmd.AddParameter("dataconsulta", SpartacusMin.Database.Type.STRING); cmd.SetValue("dataconsulta", DateTime.Now.ObterDataFormatada(), false); cmd.SetValue("parametros", parametros, false); database = new SpartacusMin.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); try { #region Inserindo informações sobre consulta de endereços no banco database.Open(); database = new SpartacusMin.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); database.SetExecuteSecurity(false); database.Execute(cmd.GetUpdatedText()); #endregion #region Formatando e inserindo enderecos no banco List <string> EnderecosJSON = ManipulacaoJSON.SepararArrayJSON(p_ResultadoJSON); var IDInsercao = ObterIDultimaInsercao(); foreach (string item in EnderecosJSON) { Criar(ManipulacaoJSON.ObterCEPdaStrJSON(item), item, IDInsercao); } #endregion } catch (SpartacusMin.Database.Exception ex) { throw new Exception($"Erro:{ex.v_message} "); } finally { database.Close(); } }
internal static List <Endereco> ObterCache(UF p_UF, string Localidade, string Logradouro) { List <string> listaCaheJSON = new List <string>(); List <Endereco> listaEnderecos = new List <Endereco>(); SpartacusMin.Database.Generic database; SpartacusMin.Database.Command cmd = new SpartacusMin.Database.Command(); DataTable tabela = new DataTable(); cmd.v_text = @"select c.retorno, x.DataConsulta, c.idconsultaendereco from cache c inner join ConsultaEndereco x on x.ID = c.idconsultaendereco where x.Parametros = #parametros#" ; cmd.AddParameter("parametros", SpartacusMin.Database.Type.STRING); cmd.SetValue("parametros", Formatacao.FormatarStrParametros(p_UF, Localidade, Logradouro), false); try { database = new SpartacusMin.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); database.SetExecuteSecurity(false); tabela = database.Query(cmd.GetUpdatedText(), "Resultado"); if (tabela.Rows.Count != 0) { if (DateTime.Now.ValidarIntervaloDeTempo(tabela.Rows[0]["DataConsulta"].ToString())) { foreach (DataRow item in tabela.Rows) { listaCaheJSON.Add(item[0].ToString()); } listaEnderecos = ManipulacaoJSON.ObterEnderecos(listaCaheJSON); } else { Cache.Deletar(Convert.ToInt16(tabela.Rows[0][2])); } } } catch (SpartacusMin.Database.Exception ex) { throw new Exception($"Erro no banco: {ex.v_message}"); } return(listaEnderecos); }
internal static Endereco ObterCache(string CEP) { var enderecoBase = new Endereco(); SpartacusMin.Database.Generic database; var cmd = new SpartacusMin.Database.Command(); var tabela = new DataTable(); cmd.v_text = "select * from cache where CEP = #cep#"; cmd.AddParameter("cep", SpartacusMin.Database.Type.STRING); cmd.SetValue("cep", CEP); try { database = new SpartacusMin.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache()); database.SetExecuteSecurity(false); tabela = database.Query(cmd.GetUpdatedText(), "Saida"); if (tabela.Rows.Count != 0) { var strJSON = tabela.Rows[0]["Retorno"].ToString(); enderecoBase = ManipulacaoJSON.ObterEndereco(strJSON); } } catch (SpartacusMin.Database.Exception ex) { throw new Exception($"Erro no banco: {ex.v_message}"); } return(enderecoBase); }