/// <summary> /// Método que retorna o código do campo /// </summary> /// <param name="campo">Nome do campo</param> /// <returns>Código do campo</returns> public static int CodigoColuna(Model.Campo campo, int codigoProjeto, ref bool existe) { Util.CL_Files.WriteOnTheLog("Importador.CodigoColuna()", Util.Global.TipoLog.DETALHADO); Model.Tabela tabela = new Model.Tabela(); bool x = true; tabela.nome = campo.Tabela; int codigo = -1; string sentenca = ClassesGenericas.camposBase.DAO.table.CreateCommandSQLTable() + " WHERE NOME = '" + campo.Name_Field + "' AND CODIGOTABELA = " + CodigoTabela(tabela, codigoProjeto, ref x); tabela = null; DbDataReader reader = DataBase.Connection.Select(sentenca); if (reader != null) { if (reader.Read()) { codigo = int.Parse(reader["CODIGO"].ToString()); existe = true; } else { codigo = DataBase.Connection.GetIncrement("CAMPOS"); existe = false; } reader.Close(); } reader = null; return(codigo); }
/// <summary> /// Método que retorna o código da tabela /// </summary> /// <param name="tabela">Nome da tabela</param> /// <returns>Código da tabela</returns> public static int CodigoRelacionamento(Model.Relacionamento relacionamento, int codigoProjeto, ref bool existe) { Util.CL_Files.WriteOnTheLog("Importador.CodigoRelacionamento()", Util.Global.TipoLog.DETALHADO); int codigo = -1; Model.Tabela tabelaOrigem = new Model.Tabela(); tabelaOrigem.nome = relacionamento.tabelaOrigem; Model.Tabela tabelaDestino = new Model.Tabela(); tabelaDestino.nome = relacionamento.tabelaDestino; Model.Campo campoOrigem = new Model.Campo(); campoOrigem.Name_Field = relacionamento.campoOrigem; campoOrigem.Tabela = tabelaOrigem.nome; Model.Campo campoDestino = new Model.Campo(); campoDestino.Name_Field = relacionamento.campoDestino; campoDestino.Tabela = tabelaDestino.nome; bool x = true; int codigoTabelaOrigem = CodigoTabela(tabelaOrigem, codigoProjeto, ref x); int codigoTabelaDestino = CodigoTabela(tabelaDestino, codigoProjeto, ref x); int codigoCampoOrigem = CodigoColuna(campoOrigem, codigoProjeto, ref x); int codigoCampoDestino = CodigoColuna(campoDestino, codigoProjeto, ref x); string sentenca = ClassesGenericas.relacaoBase.DAO.table.CreateCommandSQLTable() + " WHERE TABELAORIGEM = " + codigoTabelaOrigem + " AND CAMPOORIGEM = " + codigoCampoOrigem + " AND TABELADESTINO = " + codigoTabelaDestino + " AND CAMPODESTINO = " + codigoCampoDestino; DbDataReader reader = DataBase.Connection.Select(sentenca); if (reader != null) { if (reader.Read()) { codigo = int.Parse(reader["CODIGO"].ToString()); existe = true; } else { codigo = DataBase.Connection.GetIncrement("RELACAO"); existe = false; } reader.Close(); } reader = null; tabelaOrigem = null; tabelaDestino = null; campoOrigem = null; campoDestino = null; return(codigo); }
/// <summary> /// Método que trata os relacionamentos /// </summary> /// <param name="projeto">Projeto ao qual o relacionamento pertence</param> /// <param name="relacionamentos">Relacionamentos a serem importadas para o projeto</param> private static void TratarRelacionamento(Model.MD_Projeto projeto, ref List <Model.Relacionamento> relacionamentos, ref BarraDeCarregamento barra) { Util.CL_Files.WriteOnTheLog("Importador.TratarRelacionamento()", Util.Global.TipoLog.DETALHADO); foreach (Model.Relacionamento r in relacionamentos) { barra.AvancaBarra(1); bool existe = false; int rCodigo = CodigoRelacionamento(r, projeto.DAO.Codigo, ref existe); Model.Tabela tabelaOrigemDesc = new Model.Tabela(); tabelaOrigemDesc.nome = r.tabelaOrigem; Model.Tabela tabelaDestinoDesc = new Model.Tabela(); tabelaDestinoDesc.nome = r.tabelaDestino; Model.Campo campoOrigemDesc = new Model.Campo(); campoOrigemDesc.Name_Field = r.campoOrigem; campoOrigemDesc.Tabela = tabelaOrigemDesc.nome; Model.Campo campoDestinoDesc = new Model.Campo(); campoDestinoDesc.Name_Field = r.campoDestino; campoDestinoDesc.Tabela = tabelaDestinoDesc.nome; bool x = true; Model.MD_Tabela tabelaOrigem = new Model.MD_Tabela(CodigoTabela(tabelaOrigemDesc, projeto.DAO.Codigo, ref x), projeto.DAO.Codigo); if (!x) { tabelaOrigem.DAO.Insert(); } Model.MD_Tabela tabelaDestino = new Model.MD_Tabela(CodigoTabela(tabelaDestinoDesc, projeto.DAO.Codigo, ref x), projeto.DAO.Codigo); if (!x) { tabelaDestino.DAO.Insert(); } Model.MD_Campos campoOrigem = new Model.MD_Campos(CodigoColuna(campoOrigemDesc, projeto.DAO.Codigo, ref x), tabelaOrigem.DAO.Codigo, tabelaOrigem.DAO.Projeto.Codigo); if (!x) { campoOrigem.DAO.Insert(); } Model.MD_Campos campoDestino = new Model.MD_Campos(CodigoColuna(campoDestinoDesc, projeto.DAO.Codigo, ref x), tabelaDestino.DAO.Codigo, tabelaDestino.DAO.Projeto.Codigo); if (!x) { campoDestino.DAO.Insert(); } Model.MD_Relacao relacao = new Model.MD_Relacao(rCodigo, projeto.DAO, tabelaOrigem.DAO, tabelaDestino.DAO, campoOrigem.DAO, campoDestino.DAO); relacao.DAO.NomeForeingKey = r.constraintName; if (existe) { relacao.DAO.Update(); } else { relacao.DAO.Insert(); } tabelaOrigemDesc = null; tabelaDestinoDesc = null; campoOrigemDesc = null; campoDestinoDesc = null; relacao = null; tabelaOrigem = null; tabelaDestino = null; campoOrigem = null; campoDestino = null; } }