Example #1
0
        public static void Main(string[] args)
        {
            Spartacus.Utils.FileExplorer       v_explorer;
            Spartacus.Utils.File               v_directory;
            Spartacus.Utils.ProgressEventClass v_progress;

            v_explorer  = new Utils.FileExplorer(".");
            v_directory = new Spartacus.Utils.File(Spartacus.Utils.FileType.DIRECTORY, "./Data");
            v_progress  = new Spartacus.Utils.ProgressEventClass();
            v_progress.ProgressEvent += OnProgress;

            Console.Write("Compressing into Data_ZipStorer.zip...");
            v_explorer.CompressDirectory("Data_ZipStorer.zip", v_directory);
            Console.WriteLine();
            Console.WriteLine();

            Console.Write("Compressing into Data_DotNetZip.zip...");
            v_explorer.CompressDirectory("Data_DotNetZip.zip", v_directory, v_progress);
            Console.WriteLine();
        }
Example #2
0
        public static void Main(string[] args)
        {
            Spartacus.Utils.ProgressEventClass v_progress;
            Spartacus.Utils.ErrorEventClass v_error;
            Spartacus.Database.Command v_cmd;
            Spartacus.Database.Generic database = new Spartacus.Database.Postgresql("192.168.56.2","cotacoes","psotgres","Crc19D98C");

            v_progress = new Spartacus.Utils.ProgressEventClass();
            v_error = new Spartacus.Utils.ErrorEventClass();

            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)
            {
                database.v_blocksize = v_bloco;
                v_watch.Start;

                database.Open();
                database.TransferFromFile(
                    "Caminho Do Arquivo Aqui",
                    ";",
                    "",
                    false,
                    System.Text.Encoding.UTF8,
                    "cotacoes", // tabela existe
                    "(dia,codmoeda,tipomoeda,siglamoeda,taxacompra,taxavenda,parcompra,parvenda)",
                    v_cmd,
                    v_progress,
                    v_error
                );
                database.Close();

                v_watch.Stop;
                Console.WriteLine("Tamanho de bloco = {0}, tempo total = {1}", v_bloco, v_watch.Elapsed);
            }
        }
        /// <summary>
        /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Report"/>.
        /// </summary>
        /// <param name="p_reportid">Código do Relatório.</param>
        /// <param name="p_filename">Nome do arquivo XML.</param>
        /// <param name="p_table">Tabela com os dados.</param>
        /// <param name="p_calculate_groups">Se o gerador de relatórios deve calcular os valores agrupados ou não.</param>
        public Report(int p_reportid, string p_filename, System.Data.DataTable p_table, bool p_calculate_groups)
        {
            this.v_reportid = p_reportid;

            this.v_header = new Spartacus.Reporting.Block();
            this.v_footer = new Spartacus.Reporting.Block();

            this.v_fields = new System.Collections.ArrayList();
            this.v_groups = new System.Collections.ArrayList();

            this.v_database = null;
            this.v_tabletemp = p_table;
            this.v_table = null;
            this.v_rendertable = null;

            this.v_calculate_groups = p_calculate_groups;

            this.v_progress = new Spartacus.Utils.ProgressEventClass();
            this.v_progress.FireEvent("Spartacus.Reporting.Report", "ExportPDF", 0.0, "Lendo XML do relatorio " + this.v_reportid.ToString());

            try
            {
                this.ReadXml(p_filename);
            }
            catch (Spartacus.Reporting.Exception e)
            {
                throw e;
            }
        }
Example #4
0
 private void OnProgress(Spartacus.Utils.ProgressEventClass sender, Spartacus.Utils.ProgressEventArgs e)
 {
     this.v_progressbar.SetValue(e.v_message, (int)e.v_percentage);
 }
Example #5
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);
            }
            */
        }
 /// <summary>
 /// Inicializa uma nova instância da classe <see cref="Spartacus.Utils.Excel"/>.
 /// </summary>
 public Excel()
 {
     this.v_set = new System.Data.DataSet();
     this.v_sheets = new System.Collections.ArrayList();
     this.v_progress = new Spartacus.Utils.ProgressEventClass();
 }
Example #7
0
 /// <summary>
 /// Evento de progresso de transferência de um arquivo para o banco de dados temporário.
 /// </summary>
 private static void OnProgress(Spartacus.Utils.ProgressEventClass obj, Spartacus.Utils.ProgressEventArgs e)
 {
 }
Example #8
0
        /// <summary>
        /// Constrói o banco de dados temporário.
        /// </summary>
        /// <param name="p_sql">Texto SQL.</param>
        private void BuildCache(string p_sql)
        {
            Spartacus.Utils.ProgressEventClass v_progress;
            Spartacus.Utils.ErrorEventClass    v_error;
            Spartacus.Utils.Cryptor            v_cryptor;
            System.IO.FileInfo v_info;
            long v_totalsize;

            v_totalsize = 0;
            foreach (string s in this.ExtractFromString(p_sql, "[", "]"))
            {
                if (!s.StartsWith("."))
                {
                    v_info = new System.IO.FileInfo(this.v_service + "/" + s);

                    if (v_info.Exists)
                    {
                        if (p_sql.ToLower().Contains("drop table [" + s.ToLower() + "]"))
                        {
                            this.v_tabletodrop = s.ToLower();
                        }

                        v_totalsize += v_info.Length;
                        this.v_tables.Add(s);
                    }
                    else
                    {
                        if (p_sql.ToLower().Contains("create table [" + s.ToLower() + "]"))
                        {
                            this.v_tables.Add(s.ToLower());
                        }
                        else
                        {
                            throw new Spartacus.Database.Exception("File '{0}' does not exist and is not going to be created.", s);
                        }
                    }
                }
            }

            if (v_totalsize > this.v_cachethreshold)
            {
                v_cryptor           = new Spartacus.Utils.Cryptor("spartacus");
                this.v_tempdatabase = v_cryptor.RandomString() + ".db";
                this.v_database     = new Spartacus.Database.Sqlite(this.v_tempdatabase);
            }
            else
            {
                this.v_tempdatabase = "";
                this.v_database     = new Spartacus.Database.Memory();
            }

            this.v_database.SetTimeout(-1);
            this.v_database.SetExecuteSecurity(false);
            this.v_database.Open();
            this.v_database.Execute("PRAGMA synchronous=OFF");

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

            foreach (string t in this.v_tables)
            {
                v_info = new System.IO.FileInfo(this.v_service + "/" + t);
                if (v_info.Exists)
                {
                    this.v_database.TransferFromFile(this.v_service + "/" + t, this.v_separator, this.v_delimiter, this.v_header, this.v_encoding, "[" + t + "]", v_progress, v_error);
                }
            }
        }
Example #9
0
        /// <summary>
        /// Transfere dados do banco de dados atual para um banco de dados de destino.
        /// Conexão com o banco de destino precisa estar aberta.
        /// Não pára a execução se der um problema num comando de inserção específico.
        /// </summary>
        /// <returns>Número de linhas transferidas.</returns>
        /// <param name="p_query">Consulta SQL para buscar os dados no banco atual.</param>
        /// <param name="p_insert">Comando de inserção para inserir cada linha no banco de destino.</param>
        /// <param name="p_destdatabase">Conexão com o banco de destino.</param>
        /// <param name="p_progress">Evento de progresso.</param>
        /// <param name="p_error">Evento de erro.</param>
        public override uint Transfer(string p_query, Spartacus.Database.Command p_insert, Spartacus.Database.Generic p_destdatabase, Spartacus.Utils.ProgressEventClass p_progress, Spartacus.Utils.ErrorEventClass p_error)
        {
            uint v_transfered;

            this.BuildCache(p_query);
            v_transfered = this.v_database.Transfer(p_query, p_insert, p_destdatabase, p_progress, p_error);
            this.DestroyCache();
            return(v_transfered);
        }
Example #10
0
 /// <summary>
 /// Realiza uma consulta no banco de dados, armazenando os dados de retorno em um <see cref="System.Data.DataTable"/>.
 /// </summary>
 /// <param name='p_sql'>
 /// Código SQL a ser consultado no banco de dados.
 /// </param>
 /// <param name='p_tablename'>
 /// Nome virtual da tabela onde deve ser armazenado o resultado, para fins de cache.
 /// </param>
 /// <param name='p_progress'>Evento de progresso da execução da consulta.</param>
 /// <returns>Retorna uma <see cref="System.Data.DataTable"/> com os dados de retorno da consulta.</returns>
 public override System.Data.DataTable Query(string p_sql, string p_tablename, Spartacus.Utils.ProgressEventClass p_progress)
 {
     System.Data.DataTable v_table;
     this.BuildCache(p_sql);
     v_table = this.v_database.Query(p_sql, p_tablename, p_progress);
     this.DestroyCache();
     return(v_table);
 }
Example #11
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.db");

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

            // carregando arquivo XLSX para tabela que não existe
            /*v_database.TransferFromFile(
                args[0],
                "cotacoes_excel",
                v_progress,
                v_error
            );*/

            // carregando arquivo CSV para tabela que não existe
            /*v_database.TransferFromFile(
                args[0],
                ";",
                "",
                false,
                System.Text.Encoding.UTF8,
                "cotacoes_tmp", // tabela não existe
                v_progress,
                v_error
            );*/

            // carregando arquivo CSV para tabela que existe
            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.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
            );

            // salvando arquivo XLSX com os dados
            //v_database.TransferToFile("select * from cotacoes", "export_cotacoes.xlsx");
        }
Example #12
0
 public static void OnProgress(Spartacus.Utils.ProgressEventClass obj, Spartacus.Utils.ProgressEventArgs e)
 {
     Console.WriteLine(string.Format("{0} - {1}", e.v_percentage, e.v_message));
 }