コード例 #1
0
ファイル: Cache.cs プロジェクト: dougahasu/DotCEP
        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}");
            }
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: Cache.cs プロジェクト: dougahasu/DotCEP
        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);
        }