Exemplo n.º 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();
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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();
        }