/// <summary>
        /// Inserirs the no banco.
        /// </summary>
        /// <returns>The no banco.</returns>
        /// <param name="CaminhoArquivo">Caminho arquivo.</param>
        public static string InserirNoBanco(String CaminhoArquivo)
        {
            String Saida;

            //Preenchendo a lista com informações da cotacao
            List<Cotacao> ListaDeCotacoes = new List<Cotacao>();
            ListaDeCotacoes = ListarCotacoes(CaminhoArquivo);

            Spartacus.Database.Generic database = new Spartacus.Database.Sqlite("cotacoes.db");
            Spartacus.Database.Command cmd = new Spartacus.Database.Command();

            try
            {

                cmd.v_text = "insert into Cotacoes (dia, tipomoeda, siglamoeda, taxacompra, taxavenda, parcompra, parvenda , codmoeda)" +
                    "Values(#dia#, #tipomoeda#, #siglamoeda#, #taxacompra#, #taxavenda#, #parcompra#, #parvenda# , #codmoeda#)";

                cmd.AddParameter("dia",Spartacus.Database.Type.STRING);
                cmd.AddParameter("tipomoeda",Spartacus.Database.Type.STRING);
                cmd.AddParameter("siglamoeda",Spartacus.Database.Type.STRING);
                cmd.AddParameter("taxacompra",Spartacus.Database.Type.REAL);
                cmd.AddParameter("taxavenda",Spartacus.Database.Type.REAL);
                cmd.AddParameter("parcompra",Spartacus.Database.Type.REAL);
                cmd.AddParameter("parvenda",Spartacus.Database.Type.REAL);
                cmd.AddParameter("codmoeda",Spartacus.Database.Type.INTEGER);

                cmd.SetLocale("taxacompra",Spartacus.Database.Locale.EUROPEAN);
                cmd.SetLocale("taxavenda",Spartacus.Database.Locale.EUROPEAN);
                cmd.SetLocale("parcompra",Spartacus.Database.Locale.EUROPEAN);
                cmd.SetLocale("parvenda",Spartacus.Database.Locale.EUROPEAN);

                database.Open();

                foreach (Cotacao item in ListaDeCotacoes)
                {
                    cmd.SetValue("dia",item.Dia.ToString());
                    cmd.SetValue("tipomoeda",item.Tipomoeda.ToString());
                    cmd.SetValue("siglamoeda",item.Siglamoeda.ToString());
                    cmd.SetValue("taxacompra",item.Taxacompra.ToString());
                    cmd.SetValue("taxavenda",item.Taxavenda.ToString());
                    cmd.SetValue("parcompra",item.Parcompra.ToString());
                    cmd.SetValue("parvenda",item.Parvenda.ToString());
                    cmd.SetValue("codmoeda",item.Codmoeda.ToString());

                    database.Execute(cmd.GetUpdatedText());
                }

                database.Close();

                Saida = "Valores inseridos com sucesso!";
            }
            catch (Spartacus.Database.Exception ex)
            {
                database.Close();

                Saida = ("Ocorreu um erro ao salvar os valores: " + ex.v_message);
            }

            return Saida;
        }
Exemple #2
0
        internal static void Criar(UF p_UF, string p_Localidade, string p_Logradouro, string p_ResultadoJSON)
        {
            string parametros = Formatacao.FormatarStrParametros(p_UF, p_Localidade, p_Logradouro);

            Spartacus.Database.Generic database;
            Spartacus.Database.Command cmd = new Spartacus.Database.Command();

            cmd.v_text = "insert into ConsultaEndereco (Parametros,DataConsulta) values(#parametros#,#dataconsulta#)";

            cmd.AddParameter("parametros", Spartacus.Database.Type.STRING);
            cmd.AddParameter("dataconsulta", Spartacus.Database.Type.STRING);

            cmd.SetValue("dataconsulta", DateTime.Now.ObterDataFormatada(), false);
            cmd.SetValue("parametros", parametros, false);

            database = new Spartacus.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache());

            try
            {
                #region Inserindo informações sobre consulta de endereços no banco

                database.Open();

                database = new Spartacus.Database.Sqlite(BancosDeDados.ObterCaminhoBancoCache());
                database.SetExecuteSecurity(false);

                database.Execute(cmd.GetUpdatedText());

                #endregion

                #region Formatando e inserindo enderecos no banco

                List <string> EnderecosJSON = ControleJSON.SepararArrayJSON(p_ResultadoJSON);
                string        IDInsercao    = ObterIDultimaInsercao();


                foreach (string item in EnderecosJSON)
                {
                    Criar(ControleJSON.ObterCEPdaStrJSON(item), item, IDInsercao);
                }

                #endregion
            }
            catch (Spartacus.Database.Exception ex)
            {
                throw new Exception($"Erro:{ex.v_message} ");
            }
            finally
            {
                database.Close();
            }
        }
Exemple #3
0
        public static void Main(string[] args)
        {
            Spartacus.Database.Generic v_database;
            Spartacus.Utils.ProgressEventClass v_progress;
            Spartacus.Utils.ErrorEventClass v_error;
            Spartacus.Database.Command v_cmd;

            v_database = new Spartacus.Database.Sqlite("../../../databases/cotacoes_tamanhobloco.db");
            v_database.v_blocksize = 10000;

            v_progress = new Spartacus.Utils.ProgressEventClass();
            v_progress.ProgressEvent += OnProgress;
            v_error = new Spartacus.Utils.ErrorEventClass();
            v_error.ErrorEvent += OnError;

            v_cmd = new Spartacus.Database.Command();
            v_cmd.v_text = "(#col0#,#col1#,#col2#,#col3#,#col4#,#col5#,#col6#,#col7#)";
            v_cmd.AddParameter("col0", Spartacus.Database.Type.STRING);
            v_cmd.AddParameter("col1", Spartacus.Database.Type.INTEGER);
            v_cmd.AddParameter("col2", Spartacus.Database.Type.STRING);
            v_cmd.AddParameter("col3", Spartacus.Database.Type.STRING);
            v_cmd.AddParameter("col4", Spartacus.Database.Type.REAL);
            v_cmd.SetLocale("col4", Spartacus.Database.Locale.EUROPEAN);
            v_cmd.AddParameter("col5", Spartacus.Database.Type.REAL);
            v_cmd.SetLocale("col5", Spartacus.Database.Locale.EUROPEAN);
            v_cmd.AddParameter("col6", Spartacus.Database.Type.REAL);
            v_cmd.SetLocale("col6", Spartacus.Database.Locale.EUROPEAN);
            v_cmd.AddParameter("col7", Spartacus.Database.Type.REAL);
            v_cmd.SetLocale("col7", Spartacus.Database.Locale.EUROPEAN);

            v_database.Open();

            v_database.TransferFromFile(
                args[0],
                ";",
                "",
                false,
                System.Text.Encoding.UTF8,
                "cotacoes", // tabela existe
                "(dia,codmoeda,tipomoeda,siglamoeda,taxacompra,taxavenda,parcompra,parvenda)",
                v_cmd,
                v_progress,
                v_error
            );

            v_database.Close();

            // como fazer o experimento de forma automática
            /*
            int[] v_exp = { 1, 5, 10, 50, 100, 250, 500, 750, 1000, 2000, 3000 };
            System.Diagnostics.Stopwatch v_watch = new System.Diagnostics.Stopwatch();
            foreach (int v_bloco in v_exp)
            {
                v_database.v_blocksize = v_bloco;
                v_watch.Start;

                v_database.Open();
                v_database.TransferFromFile(
                    args[0],
                    ";",
                    "",
                    false,
                    System.Text.Encoding.UTF8,
                    "cotacoes", // tabela existe
                    "(dia,codmoeda,tipomoeda,siglamoeda,taxacompra,taxavenda,parcompra,parvenda)",
                    v_cmd,
                    v_progress,
                    v_error
                );
                v_database.Close();

                v_watch.Stop;
                Console.WriteLine("Tamanho de bloco = {0}, tempo total = {1}", v_bloco, v_watch.Elapsed);
            }
            */
        }