Example #1
0
        /// <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 CodigoTabela(Model.Tabela tabela, int codigoProjeto, ref bool existe)
        {
            Util.CL_Files.WriteOnTheLog("Importador.CodigoTabela()", Util.Global.TipoLog.DETALHADO);

            int    codigo   = -1;
            string sentenca = ClassesGenericas.tabelaBase.DAO.table.CreateCommandSQLTable() + " WHERE NOME = '" + tabela.nome + "' AND PROJETO = " + codigoProjeto;


            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("TABELA");
                    existe = false;
                }
                reader.Close();
            }
            reader = null;

            return(codigo);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <summary>
        /// Método que trata as tabelas
        /// </summary>
        /// <param name="projeto">Projeto ao qual a tabela pertence</param>
        /// <param name="tabelas">Tabelas a serem importadas para o projeto</param>
        private static void TratarColunas(Model.MD_Projeto projeto, ref List <Model.Campo> campos, ref BarraDeCarregamento barra)
        {
            Util.CL_Files.WriteOnTheLog("Importador.TratarColunas()", Util.Global.TipoLog.DETALHADO);

            foreach (Model.Campo c in campos)
            {
                barra.AvancaBarra(1);

                bool         existe      = false;
                int          campoCodigo = CodigoColuna(c, projeto.DAO.Codigo, ref existe);
                Model.Tabela t           = new Model.Tabela();
                t.nome = c.Tabela;

                bool x = true;

                Model.MD_Tabela tabela = new Model.MD_Tabela(CodigoTabela(t, projeto.DAO.Codigo, ref x), projeto.DAO.Codigo);
                Model.MD_Campos campo  = new Model.MD_Campos(campoCodigo, tabela.DAO.Codigo, tabela.DAO.Projeto.Codigo);
                campo.DAO.Nome       = c.Name_Field;
                campo.DAO.Default    = c.ValueDefault;
                campo.DAO.NotNull    = c.NotNull;
                campo.DAO.Precisao   = c.Precision;
                campo.DAO.PrimaryKey = c.PrimaryKey;
                campo.DAO.Projeto    = projeto.DAO;
                campo.DAO.Tamanho    = c.Size;
                campo.DAO.TipoCampo  = Model.MD_TipoCampo.RetornaTipoCampo(c.Type).DAO;
                campo.DAO.Unique     = c.Unique;
                campo.DAO.Comentario = c.Comments;

                if (existe)
                {
                    campo.DAO.Update();
                }
                else
                {
                    campo.DAO.Insert();
                }
                campo  = null;
                tabela = null;
            }
        }
Example #5
0
        /// <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;
            }
        }