/// <summary> /// Método que processa as tabelas /// </summary> /// <param name="tables">tabelas de importação</param> /// <param name="projeto">projeto para importação</param> private static void ResultadoTabelas(List <MDN_Table> tables, Model.MD_Projeto projeto) { Util.CL_Files.WriteOnTheLog("Backup.ResultadoTabelas()", Util.Global.TipoLog.DETALHADO); foreach (MDN_Table table in tables) { Tabela tabela = new Tabela(); tabela.nome = table.Table_Name; bool existe = false; int codigo = Importador.CodigoTabela(tabela, projeto.DAO.Codigo, ref existe); Model.MD_Tabela tabelaImport = new Model.MD_Tabela(codigo, projeto.DAO.Codigo); tabelaImport.DAO.Nome = tabela.nome; if (!existe) { tabelaImport.DAO.Insert(); } else { tabelaImport.DAO.Update(); } foreach (MDN_Campo campo in table.Fields_Table) { Model.Campo field = new Campo(); field.Name_Field = campo.Name_Field; field.NotNull = campo.NotNull; field.Precision = campo.Precision; field.PrimaryKey = campo.PrimaryKey; field.Size = campo.Size; field.Tabela = tabela.nome; field.Type = campo.Type.ToString(); field.Unique = campo.Unique; field.ValueDefault = campo.ValueDefault.ToString(); int codigoCampo = Importador.CodigoColuna(field, projeto.DAO.Codigo, ref existe); Model.MD_Campos campoImportar = new Model.MD_Campos(codigoCampo, tabelaImport.DAO.Codigo, tabelaImport.DAO.Projeto.Codigo); campoImportar.DAO.Nome = field.Name_Field; campoImportar.DAO.Default = field.ValueDefault; campoImportar.DAO.NotNull = field.NotNull; campoImportar.DAO.Precisao = field.Precision; campoImportar.DAO.PrimaryKey = field.PrimaryKey; campoImportar.DAO.Projeto = projeto.DAO; campoImportar.DAO.Tamanho = field.Size; campoImportar.DAO.TipoCampo = Model.MD_TipoCampo.RetornaTipoCampo(field.Type).DAO; campoImportar.DAO.Unique = field.Unique; if (!existe) { campoImportar.DAO.Insert(); } else { campoImportar.DAO.Update(); } } } }
/// <summary> /// Método que busca o backup a partir do arquivo DER selecionado /// </summary> /// <param name="projeto">Projeto para importar os dados</param> /// <param name="fileInfo">Arquivo DER para busca dos dados</param> /// <param name="messageErro"></param> /// <returns></returns> public static bool BuscarBackup(Model.MD_Projeto projeto, FileInfo fileInfo, ref string messageErro) { Util.CL_Files.WriteOnTheLog("Backup.BuscarBackup()", Global.TipoLog.DETALHADO); try { List <MDN_Table> tables = MontaTabela(fileInfo.FullName); ResultadoTabelas(tables, projeto); } catch (Exception e) { Util.CL_Files.WriteOnTheLog("Error: " + e.Message, Global.TipoLog.SIMPLES); return(false); } return(true); }
/// <summary> /// Método que preenche o corpo do html /// </summary> /// <param name="projeto">Projeto para se preencher o corpo do html</param> /// <param name="builder_tableB">string builder para montar o html</param> private static void PreencheText(Model.MD_Projeto projeto, ref StringBuilder builder_tableB, ref StringBuilder builder_tableR) { Util.CL_Files.WriteOnTheLog("Document.PreencheText", Global.TipoLog.SIMPLES); int quantidade = 0; string sentenca = "SELECT COUNT(1) AS contador FROM " + ClassesGenericas.tabelaBase.DAO.table.Table_Name + " WHERE PROJETO = " + projeto.DAO.Codigo; DbDataReader reader = DataBase.Connection.Select(sentenca); if (reader == null) { return; } while (reader.Read()) { quantidade = int.Parse(reader["contador"].ToString()); } sentenca = ClassesGenericas.tabelaBase.DAO.table.CreateCommandSQLTable() + " WHERE PROJETO = " + projeto.DAO.Codigo + " ORDER BY NOME"; reader = DataBase.Connection.Select(sentenca); if (reader == null) { return; } BarraDeCarregamento barraCarregamento = new BarraDeCarregamento(quantidade, "Criando DER"); barraCarregamento.Show(); builder_tableR.Append("<div class=\"bookmark\">" + Environment.NewLine); while (reader.Read()) { barraCarregamento.AvancaBarra(1); Model.MD_Tabela tabela = new MD_Tabela(int.Parse(reader["CODIGO"].ToString()), projeto.DAO.Codigo); builder_tableB.Append("<a name = \"Table_" + tabela.DAO.Codigo + "\"></a>" + Environment.NewLine); builder_tableB.Append("<div class=\"caption1\">" + tabela.DAO.Nome + "</div>" + Environment.NewLine); builder_tableB.Append("<div class=\"caption2\">Columns</div>" + Environment.NewLine); PreencheColunas(tabela, ref builder_tableB); builder_tableB.Append("<div class=\"caption2\">Relationships</div>" + Environment.NewLine); PreencheRelationships(tabela, ref builder_tableB); builder_tableB.Append("<div class=\"caption2\">Notes</div>" + Environment.NewLine); PreencheNotes(tabela, ref builder_tableB); builder_tableB.Append("<br><br> " + Environment.NewLine); builder_tableR.Append("<a href=\"TableB.html#Table_" + tabela.DAO.Codigo + "\"target=\"body\">" + tabela.DAO.Nome + "</a>" + Environment.NewLine); tabela = null; } builder_tableR.Append("</div>" + Environment.NewLine); barraCarregamento.Hide(); barraCarregamento.Dispose(); barraCarregamento = null; reader.Close(); }