/// <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 retorna a relação através do campo /// </summary> /// <param name="campo"></param> /// <returns></returns> public static MD_Relacao RetornaRelacao(MD_Campos campo) { MD_Relacao retorno = null; string sentenca = new DAO.MD_Relacao().table.CreateCommandSQLTable() + " WHERE CAMPODESTINO = " + campo.DAO.Codigo; DbDataReader reader = DataBase.Connection.Select(sentenca); if (reader.Read()) { DAO.MD_Tabela tabelaOrigem = new DAO.MD_Tabela(int.Parse(reader["TABELAORIGEM"].ToString()), campo.DAO.Projeto.Codigo); DAO.MD_Campos campoOrigem = new DAO.MD_Campos(int.Parse(reader["CAMPOORIGEM"].ToString()), tabelaOrigem); DAO.MD_Campos campoDestino = campo.DAO; DAO.MD_Tabela tabelaDestino = new DAO.MD_Tabela(campo.DAO.Tabela.Codigo, campo.DAO.Projeto.Codigo); retorno = new MD_Relacao(int.Parse(reader["CODIGO"].ToString()), campo.DAO.Projeto, tabelaOrigem, tabelaDestino, campoOrigem, campoDestino); } return(retorno); }