/// <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"); } } }
/// <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); }
/// <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)); }