예제 #1
0
        /// <summary>
        /// Método que cria a coluna
        /// </summary>
        /// <returns></returns>
        private bool CreateColuna()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.CreateColuna", Global.TipoLog.DETALHADO);
            string sentenca = "ALTER TABLE " + this.table.Table_Name + " ADD " + path + " VARCHAR(4000)";

            return(Util.DataBase.Execute(sentenca));
        }
예제 #2
0
 /// <summary>
 /// Construtor principal da classe
 /// </summary>
 /// <param name="delete">Valida se exclui ou não a tabela</param>
 public MD_Retorno(bool delete) : base()
 {
     CL_Files.WriteOnTheLog("MD_Retorno.MD_Retorno", Global.TipoLog.DETALHADO);
     base.table = new MDN_Table("RETORNO");
     this.table.Fields_Table.Add(new MDN_Campo("CODIGO", true, Util.Enumerator.DataType.STRING, "-", true, false, 1000, 0));
     this.table.CreateTable(delete);
 }
예제 #3
0
        /// <summary>
        /// Método que verifica se a coluna existe
        /// </summary>
        /// <returns></returns>
        private bool ExisteColuna()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.ExisteColuna", Global.TipoLog.DETALHADO);
            string sentenca = "SELECT " + path + " FROM " + this.table.Table_Name;

            return(Util.DataBase.Execute(sentenca));
        }
예제 #4
0
        /// <summary>
        /// Método que verifica a existência da tabela de incrementais
        /// </summary>
        /// <returns></returns>
        private bool ExisteTabelaIncrementais()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.ExisteTabelaIncrementais", Global.TipoLog.DETALHADO);
            string sentenca = "SELECT 1 FROM " + tabelaIncremental;

            return(Util.DataBase.Execute(sentenca));
        }
예제 #5
0
        /// <summary>
        /// Cria tabela de incrementais
        /// </summary>
        private void CriaTabelaIncrementais()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.CriaTabelaIncrementais", Global.TipoLog.DETALHADO);
            string sentenca = "CREATE TABLE " + tabelaIncremental + " (CODIGO INTEGER PRIMARY KEY)";

            Util.DataBase.Execute(sentenca);
        }
예제 #6
0
        /// <summary>
        /// Método que cria uma linha do incremental
        /// </summary>
        private void PreencheTabelaIncrementais()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.PreencheTabelaIncrementais", Global.TipoLog.DETALHADO);
            string sentenca = "INSERT INTO " + tabelaIncremental + " (CODIGO) VALUES (0)";

            Util.DataBase.Insert(sentenca);
        }
예제 #7
0
        /// <summary>
        /// Método que faz o update do objeto
        /// </summary>
        /// <returns></returns>
        public override bool Update()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.Update", Global.TipoLog.DETALHADO);
            string sentenca = "UPDATE " + this.table.Table_Name + " SET VALUE = '" + value + "' WHERE PATH = '" + path + "'";

            return(Util.DataBase.Update(sentenca));
        }
예제 #8
0
        /// <summary>
        /// Método que faz exclusão do objeto
        /// </summary>
        /// <returns>True - Sucesso; False - Erro</returns>
        public override bool Delete()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.Delete", Global.TipoLog.DETALHADO);
            string sentenca = "DELETE FROM " + table.Table_Name + " WHERE CODIGO = '" + path + "'";

            return(Util.DataBase.Delete(sentenca));
        }
예제 #9
0
 /// <summary>
 /// Construtor secundário da classe
 /// </summary>
 /// <param name="path">Path</param>
 /// <param name="delete">Valida se exclui ou não a tabela</param>
 public MD_Retorno(string path, bool delete) : this(delete)
 {
     CL_Files.WriteOnTheLog("MD_Retorno.MD_Retorno", Global.TipoLog.DETALHADO);
     this.path = path.Replace(":", "").Replace(";", "").Replace(".", "").Replace(",", "").Replace("!", "").Replace("?", "");
     CreateTableIncremental();
     AdicionaColuna();
     Load();
 }
예제 #10
0
 /// <summary>
 /// Método que adiciona Coluna
 /// </summary>
 public void AdicionaColuna()
 {
     CL_Files.WriteOnTheLog("MD_Retorno.AdicionaColuna", Global.TipoLog.DETALHADO);
     if (!ExisteColuna())
     {
         CreateColuna();
     }
 }
예제 #11
0
 /// <summary>
 /// Método que cria a tabela de incrementais
 /// </summary>
 public void CreateTableIncremental()
 {
     CL_Files.WriteOnTheLog("MD_Retorno.CreateTableIncremental", Global.TipoLog.DETALHADO);
     if (!ExisteTabelaIncrementais())
     {
         CriaTabelaIncrementais();
         PreencheTabelaIncrementais();
     }
 }
예제 #12
0
        /// <summary>
        /// Método que faz o insert do objeto
        /// </summary>
        /// <returns>True - Insert feito com sucesso; False - Erro no insert</returns>
        public override bool Insert()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.Insert", Global.TipoLog.DETALHADO);
            if (!(new MD_Retorno(path, false).Empty))
            {
                return(true);
            }
            string sentenca = "INSERT INTO " + this.table.Table_Name + "(" + path + ") VALUES('" + value + "')";

            return(Util.DataBase.Insert(sentenca));
        }
예제 #13
0
        /// <summary>
        /// Método que lê o arquivo e coloca numa lista de string
        /// </summary>
        /// <param name="diretorio">diretório do arquivo</param>
        /// <returns>Lista com as linhas do arquivo</returns>
        private static List <string> TextoArquivo(string diretorio)
        {
            Util.CL_Files.WriteOnTheLog("Backup.TextoArquivo()", Util.Global.TipoLog.DETALHADO);

            List <string> retorno = new List <string>();

            Util.CL_Files file = new CL_Files(diretorio);
            retorno = file.ReadArchive();

            return(retorno);
        }
예제 #14
0
 /// <summary>
 /// Método que carrega o comando no arquivo de entrada
 /// </summary>
 /// <param name="command"></param>
 static bool CarregaComando(string directory, ref string command)
 {
     try
     {
         StreamReader reader = new StreamReader(directory);
         command = reader.ReadToEnd();
         reader.Close();
         reader.Dispose();
     }
     catch (Exception e)
     {
         CL_Files.WriteOnTheLog("Erro ao abrir o arquivo de entrada. Erro: " + e.Message, Global.TipoLog.SIMPLES);
         return(false);
     }
     return(true);
 }
예제 #15
0
        static void Main(string[] args)
        {
            CL_Files.CreateMainDirectories();
            CL_Files.WriteOnTheLog("-------------------------Iniciando", Global.TipoLog.SIMPLES);
            string command = "";
            string saida   = "";

#if !Debug
            if (args.Length < 2)
            {
                CL_Files.WriteOnTheLog("There are no suficient arguments", Global.TipoLog.SIMPLES);
                CL_Files.WriteOnTheLog("There are no suficient arguments. Need a -i 'file in' and -o 'directory out'", Global.TipoLog.SIMPLES);
                Console.WriteLine("There are no suficient arguments.\n-i 'file in (.json)' \n-o 'directory out' \n-t 'type of file out (.xml;.sql;.csv;.json)'\n-l for logs", Global.TipoLog.SIMPLES);

                //return;
            }

            Document.Saida out_files = new Document.Saida();
            out_files.sqlite = true;
            out_files.csv    = true;
            out_files.json   = true;
            out_files.xml    = true;

            if (!CarregaParametros(args, ref command, ref saida, ref out_files))
            {
                Console.WriteLine("Erro ao carregar os parâmetros. Log:" + Global.app_logs_directoty);

                TCC.Util.CL_Files.WriteOnTheLog("Erro ao carregar os parâmetros.", Global.TipoLog.SIMPLES);
                return;
            }
            CL_Files.WriteOnTheLog("Arquivo de Entrada: " + command, Global.TipoLog.DETALHADO);
#else
            CarregaComando("C:\\Users\\rodri\\OneDrive\\Área de Trabalho\\TCC\\python\\teste.json", ref command);
#endif

            DataBase.OpenConnection();
            Document document     = new Document(command, out_files);
            string   mensagemErro = "";

            if (!document.Criar(ref mensagemErro))
            {
                Console.WriteLine(mensagemErro);
            }
            CopiaSaida(saida);

            CL_Files.WriteOnTheLog("-------------------------Finalizado", Global.TipoLog.SIMPLES);
        }
예제 #16
0
        /// <summary>
        /// Método que pega o Incremental
        /// </summary>
        /// <returns></returns>
        public int Inc()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.Inc", Global.TipoLog.DETALHADO);
            CreateTableIncremental();

            string           sentenca = "SELECT CODIGO FROM " + tabelaIncremental;
            SQLiteDataReader reader   = Util.DataBase.Select(sentenca);
            int r = 0;

            if (reader.Read())
            {
                r = reader.GetInt16(0);
                reader.Close();
                Util.DataBase.Execute("UPDATE " + tabelaIncremental + " SET CODIGO = CODIGO + 1");
            }
            return(r);
        }
예제 #17
0
        /// <summary>
        /// Método que faz o Load da classe
        /// </summary>
        public override void Load()
        {
            CL_Files.WriteOnTheLog("MD_Retorno.Load", Global.TipoLog.DETALHADO);
            string           sentenca = "SELECT CODIGO FROM " + base.table.Table_Name + " WHERE CODIGO = '" + path + "'";
            SQLiteDataReader reader   = Util.DataBase.Select(sentenca);

            if (reader == null)
            {
                Empty = true;
                return;
            }

            if (reader.HasRows)
            {
                Empty = false;
                reader.Close();
            }
        }
예제 #18
0
        /// <summary>
        /// Método que gera a classe da tabela passada em referência
        /// </summary>
        /// <param name="tabela">tabela a ser criada a classe</param>
        /// <param name="mensagemErro">string de referência para descrição de erros</param>
        /// <returns>True - Criado sem erros; False - Erro ao criar</returns>
        public static bool Create(MDN_Table tabela, ref string mensagemErro)
        {
            Util.CL_Files.WriteOnTheLog("ClassCreater.Create()", Util.Global.TipoLog.DETALHADO);

            try
            {
                MontaDAO(tabela, ref mensagemErro);

                MontaModel(tabela, ref mensagemErro);
            }
            catch (Exception e)
            {
                CL_Files.WriteOnTheLog("Erro: " + e.Message, Global.TipoLog.SIMPLES);
                mensagemErro = e.Message;
                return(false);
            }
            return(true);
        }
예제 #19
0
        /// <summary>
        /// Método que copia os arquivos de saída
        /// </summary>
        /// <param name="saida">Diretório para os arquivos de saída</param>
        static void CopiaSaida(string saida)
        {
            try
            {
                if (string.IsNullOrEmpty(saida))
                {
                    return;
                }

                if (!Directory.Exists(saida))
                {
                    Directory.CreateDirectory(saida);
                }

                File.Copy(Global.app_base_file, saida + "\\saida.db3");
                File.Copy(Global.app_out_file_csv, saida + "\\saida.csv");
                File.Copy(Global.app_out_file_json, saida + "\\saida.json");
                File.Copy(Global.app_out_file_xml, saida + "\\saida.xml");
            }
            catch (Exception e)
            {
                CL_Files.WriteOnTheLog("Erro ao copiar os arquivos de saída. Erro: " + e.Message, Global.TipoLog.SIMPLES);
            }
        }
예제 #20
0
        /// <summary>
        /// Método que carrega os parâmetros de entrada
        /// </summary>
        /// <param name="args"></param>
        /// <param name="command"></param>
        static bool CarregaParametros(string[] args, ref string command, ref string caminho_saida, ref Document.Saida out_files)
        {
            CL_Files.WriteOnTheLog("Program.CarregaParametros", Global.TipoLog.DETALHADO);

            command = "";
            bool entrada = false, saida = false, types = false;

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].ToUpper().Equals("-I"))
                {
                    entrada = true;
                }
                else if (args[i].ToUpper().Equals("-O"))
                {
                    saida = true;
                }
                else if (args[i].ToUpper().Equals("-T"))
                {
                    types         = true;
                    out_files.csv = out_files.json = out_files.sqlite = out_files.xml = false;
                }
                else if (args[i].ToUpper().Equals("-L"))
                {
                    // Seta o tipo de log para detalhado (averiguação de problemas)
                    Global.log_system = Global.TipoLog.DETALHADO;
                }
                else if (entrada)
                {
                    if (!CarregaComando(args[i], ref command))
                    {
                        return(false);
                    }
                    entrada = false;
                }
                else if (saida)
                {
                    caminho_saida = args[i];
                    saida         = false;
                }
                else if (types)
                {
                    types = false;
                    string lista = args[i].ToString();
                    foreach (string typ in lista.Split(';'))
                    {
                        switch (typ)
                        {
                        case ".json":
                            out_files.json = true;
                            break;

                        case ".xml":
                            out_files.xml = true;
                            break;

                        case ".csv":
                            out_files.csv = true;
                            break;

                        case ".sql":
                            out_files.sqlite = true;
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
            return(true);
        }