Ejemplo n.º 1
0
        /// <summary>
        /// Método que confirma o formulário de criação
        /// </summary>
        private void Confirmar()
        {
            if (ValidaFormulario())
            {
                string diretorio = this.tbx_caminhoSaida.Text;
                Util.Enumerator.BancoDados type = this.cmb_Tipobanco.SelectedIndex == 0 ? Util.Enumerator.BancoDados.SQLite : Util.Enumerator.BancoDados.SQL_SERVER;
                bool gerarArquivos = ckb_gerarArquivo.Checked;

                if (string.IsNullOrEmpty(diretorio))
                {
                    diretorio = Util.Global.app_Script_directory;
                }

                bool worked = this.tabela == null?Regras.ScriptBanco.CriarScript(projeto, type, !gerarArquivos, diretorio) : Regras.ScriptBanco.CriarScript(this.ListaTabelas(), type, !gerarArquivos, diretorio);

                if (worked)
                {
                    Visao.Message.MensagemSucesso(gerarArquivos ? "Os arquivos com os comandos foram criados com sucesso no diretório: " + diretorio : "O arquivo com os comandos foi criado na pasta " + diretorio);
                }
                else
                {
                    Visao.Message.MensagemErro("Erro ao gerar os arquivos");
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Método principal para fazer a criação do script
        /// </summary>
        /// <param name="tabelas">Tabelas que serão incluídas</param>
        /// <param name="banco">Tipo de banco para criar os scripts</param>
        /// <param name="apenasUmArquivo">Flag para verificar se é para criar apenas um arquivo</param>
        /// <param name="caminho">Caminho para salvar os scripts</param>
        /// <returns>True - gerado com sucesso; False: Gerado com erros</returns>
        public static bool CriarScript(List <Model.MD_Tabela> tabelas, Util.Enumerator.BancoDados banco, bool apenasUmArquivo, string caminho = null)
        {
            bool retorno = true;

            try
            {
                StringBuilder comandoGeral = new StringBuilder();
                StringBuilder builder      = new StringBuilder();

                if (string.IsNullOrEmpty(caminho))
                {
                    caminho = Util.Global.app_Script_directory;
                }
                else
                {
                    caminho += "\\";
                }

                if (!Directory.Exists(caminho))
                {
                    Directory.CreateDirectory(caminho);
                }

                Visao.BarraDeCarregamento barra = new Visao.BarraDeCarregamento(tabelas.Count, "Gerando Script");
                barra.Show();

                foreach (Model.MD_Tabela table in tabelas)
                {
                    builder = new StringBuilder();
                    CriarCreate(table, ref builder);

                    if (!apenasUmArquivo)
                    {
                        if (!SalvarArquivo(caminho + table.DAO.Nome.ToUpper() + ".sql", builder.ToString()))
                        {
                            retorno = false;
                        }
                    }
                    else
                    {
                        comandoGeral.AppendLine(builder.ToString());
                        comandoGeral.AppendLine(";");
                        comandoGeral.AppendLine("");
                    }

                    barra.AvancaBarra(1);
                }

                barra.Dispose();
                barra    = null;
                caminho += "script.sql";

                if (apenasUmArquivo)
                {
                    if (!SalvarArquivo(caminho, comandoGeral.ToString()))
                    {
                        retorno = false;
                    }
                }
            }
            catch (Exception e)
            {
                Util.CL_Files.WriteOnTheLog("Erro: " + e.Message, Util.Global.TipoLog.SIMPLES);
                retorno = false;
            }

            return(retorno);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Método principal para fazer a criação do script
        /// </summary>
        /// <param name="projeto">Projeto para capturar as tabelas</param>
        /// <param name="banco">Tipo de banco</param>
        /// <param name="apenasUmArquivo"></param>
        /// <param name="caminho"></param>
        /// <returns></returns>
        public static bool CriarScript(Model.MD_Projeto projeto, Util.Enumerator.BancoDados banco, bool apenasUmArquivo, string caminho = null)
        {
            List <Model.MD_Tabela> table = projeto.GetTabelasProjeto();

            return(CriarScript(table, banco, apenasUmArquivo, caminho));
        }