Example #1
0
        /// <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();
                    }
                }
            }
        }
Example #2
0
        /// <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);
        }