/// <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)); }
/// <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); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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); }
/// <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); }
/// <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)); }
/// <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(); }
/// <summary> /// Método que adiciona Coluna /// </summary> public void AdicionaColuna() { CL_Files.WriteOnTheLog("MD_Retorno.AdicionaColuna", Global.TipoLog.DETALHADO); if (!ExisteColuna()) { CreateColuna(); } }
/// <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(); } }
/// <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)); }
/// <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); }
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); }
/// <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); }
/// <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(); } }
/// <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); }
/// <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); } }
/// <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); }