// Metodos public StringBuilder GeraCodigoDto(string _tabela, string _conexao, string _banco) { string strTabela = _tabela; objCodigo = new StringBuilder(); objCodigo.AppendLine("using System;"); objCodigo.AppendLine("using System.Collections.Generic;"); objCodigo.AppendLine("using System.ComponentModel.DataAnnotations;"); objCodigo.AppendLine("using System.Text;"); objCodigo.AppendLine(); objCodigo.AppendLine("namespace DTO"); objCodigo.AppendLine("{"); string tabelaFormatada = strTabela.Replace("_", "").Replace("-", ""); // Abre conexão com o banco objBanco = new Banco.Banco(_conexao); // Cria o objeto da classe Library objLib = new Library.Library(); //objCodigo.AppendLine(); objCodigo.AppendLine(tb + "/// <summary>"); objCodigo.AppendLine(tb + "/// Classe DTO gerada automática: Tab" + strTabela); if (Environment.MachineName == "MARQUESNOTE-PC") { objCodigo.AppendLine(tb + "/// Criador: Marques Silva Fonseca"); } else { objCodigo.AppendLine(tb + "/// Criador: " + Environment.UserName); } objCodigo.AppendLine(tb + "/// Criada em " + strData); //objCodigo.AppendLine(tb + "/// Contato: [email protected]"); objCodigo.AppendLine(tb + "/// </summary>"); objCodigo.AppendLine(tb + "public class Tab" + tabelaFormatada); objCodigo.AppendLine(tb + "{"); objCodigo.AppendLine(tb + tb + "// Atributos"); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); // Conta o número de colunas int nunrec = objDr.FieldCount; for (int i = 0; i < nunrec; i++) { #region modelo1 var ColunaIsNullable = objBanco.RetornaValor("IF(EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + strTabela + "' AND COLUMN_NAME = '" + objDr.GetName(i) + "' AND IS_NULLABLE = 'YES')) SELECT 1 IsNullable ELSE SELECT 0 IsNullable", new System.Collections.ArrayList() { }, new System.Collections.ArrayList { }); string tipoObjeto = objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()); // o campo aceita nullo if (Convert.ToBoolean(ColunaIsNullable) && tipoObjeto == "DateTime") { objCodigo.AppendLine(tb + tb + "private " + tipoObjeto + "?" + " _" + objDr.GetName(i) + ";"); } // o campo aceita nullo else { objCodigo.AppendLine(tb + tb + "private " + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " _" + objDr.GetName(i) + ";"); } #endregion } objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + "// Propriedades"); for (int i = 0; i < nunrec; i++) { #region modelo1 objCodigo.AppendLine(tb + tb + "#region " + objDr.GetName(i) + ""); var ColunaIsNullable = objBanco.RetornaValor("IF(EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + strTabela + "' AND COLUMN_NAME = '" + objDr.GetName(i) + "' AND IS_NULLABLE = 'YES')) SELECT 1 IsNullable ELSE SELECT 0 IsNullable", new System.Collections.ArrayList() { }, new System.Collections.ArrayList { }); string tipoObjeto = objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()); // o campo aceita nullo if (Convert.ToBoolean(ColunaIsNullable)) { //objCodigo.AppendLine(tb + tb + "[Atributos(ChavePrimaria = false, DescricaoCampo = \"\", ChaveEstrangeira = false, ClasseChaveEstrangeira = \"\", DescricaoExibirChaveEstrangeira = \"\", RelacionarChaveEstrangeiraNovoCadastro = true)]"); objCodigo.AppendLine(tb + tb + "//[Required(ErrorMessage = \"Informe o campo " + objDr.GetName(i) + "\")]"); objCodigo.AppendLine(tb + tb + "[Display(Name = \"" + objDr.GetName(i) + "\")]"); if (tipoObjeto == "DateTime") { objCodigo.AppendLine(tb + tb + "public " + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + "?" + " " + objDr.GetName(i) + "{" + "get { return _" + objDr.GetName(i) + "; }" + "set { _" + objDr.GetName(i) + " = value; }" + " }"); } else { objCodigo.AppendLine(tb + tb + "public " + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " " + objDr.GetName(i) + "{" + "get { return _" + objDr.GetName(i) + "; }" + "set { _" + objDr.GetName(i) + " = value; }" + " }"); } } else { //objCodigo.AppendLine(tb + tb + "[Atributos(ChavePrimaria = false, DescricaoCampo = \"\", ChaveEstrangeira = false, ClasseChaveEstrangeira = \"\", DescricaoExibirChaveEstrangeira = \"\", RelacionarChaveEstrangeiraNovoCadastro = true)]"); objCodigo.AppendLine(tb + tb + "[Required(ErrorMessage = \"Informe o campo " + objDr.GetName(i) + "\")]"); objCodigo.AppendLine(tb + tb + "[Display(Name = \"" + objDr.GetName(i) + "\")]"); objCodigo.AppendLine(tb + tb + "public " + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " " + objDr.GetName(i) + "{" + "get { return _" + objDr.GetName(i) + "; }" + "set { _" + objDr.GetName(i) + " = value; }" + " }"); } objCodigo.AppendLine(tb + tb + "#endregion"); objCodigo.AppendLine(""); #endregion #region modelo2 //objCodigo.AppendLine(tb + tb + "#region " + objDr.GetName(i) + ""); ////objCodigo.AppendLine(tb + tb + "[Atributos(ChavePrimaria = false, DescricaoCampo = \"\", ChaveEstrangeira = false, ClasseChaveEstrangeira = \"\", DescricaoExibirChaveEstrangeira = \"\", RelacionarChaveEstrangeiraNovoCadastro = true)]"); //objCodigo.AppendLine(tb + tb + "[Display(Name = \"" + objDr.GetName(i) + "\")]"); //objCodigo.AppendLine(tb + tb + "[Required(ErrorMessage = \"Informe o campo " + objDr.GetName(i) + "\")]"); //var ColunaIsNullable = objBanco.RetornaValor("IF(EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + strTabela + "' AND COLUMN_NAME = '" + objDr.GetName(i) + "' AND IS_NULLABLE = 'YES')) SELECT 1 IsNullable ELSE SELECT 0 IsNullable", new System.Collections.ArrayList() { }, new System.Collections.ArrayList { }); //string tipoObjeto = objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()); //// o campo aceita nullo //if (Convert.ToBoolean(ColunaIsNullable) && tipoObjeto == "DateTime") // objCodigo.AppendLine(tb + tb + "public " + tipoObjeto + "?" + " " + objDr.GetName(i) + " { get; set; }"); //else // objCodigo.AppendLine(tb + tb + "public " + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " " + objDr.GetName(i) + " { get; set; }"); //objCodigo.AppendLine(tb + tb + "#endregion"); //objCodigo.AppendLine(""); #endregion } objCodigo.AppendLine(tb + "}"); // fecha conexão objBanco.CloseConn(); objLib = null; objCodigo.AppendLine("}"); return(objCodigo); }
// Metodos public StringBuilder GeraCodigoBLL(string _tabela, string _conexao, string _banco, bool chkAtualizarCampoDataCadastro = true) { string strTabela = _tabela; objCodigo = new StringBuilder(); objCodigo.AppendLine("using System;"); objCodigo.AppendLine("using System.Collections.Generic;"); objCodigo.AppendLine("using System.Text;"); objCodigo.AppendLine("using System.Data;"); objCodigo.AppendLine("using System.Data.SqlClient;"); objCodigo.AppendLine("using DTO;"); objCodigo.AppendLine("using DAL;"); objCodigo.AppendLine(); objCodigo.AppendLine("namespace BLL"); objCodigo.AppendLine("{"); string tabelaFormatada = strTabela.Replace("_", "").Replace("-", ""); //objCodigo.AppendLine(); objCodigo.AppendLine(tb + "/// <summary>"); objCodigo.AppendLine(tb + "/// Classe da BLL gerada automática: " + strTabela); if (Environment.MachineName == "MARQUESNOTE-PC") { objCodigo.AppendLine(tb + "/// Criador: Marques Silva Fonseca"); } else { objCodigo.AppendLine(tb + "/// Criador: " + Environment.UserName); } objCodigo.AppendLine(tb + "/// Criada em " + strData); //objCodigo.AppendLine(tb + "/// Contato: [email protected]"); objCodigo.AppendLine(tb + "/// </summary>"); objCodigo.AppendLine(tb + "public class " + tabelaFormatada + "BO<T>"); objCodigo.AppendLine(tb + "{"); objCodigo.AppendLine(tb + tb + "// Atributos"); // atributos objCodigo.AppendLine(tb + tb + "private DAL.Dao objDO = null;"); objCodigo.AppendLine(tb + tb + "private StringBuilder strSql = null;"); #region metodo FindAllGenerico // metodo FindAll-------------------------------- objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + "//Métodos"); objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros e retorna um DataSet."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public IEnumerable<Tab" + tabelaFormatada + "> FindAllLista()"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "IEnumerable<Tab" + tabelaFormatada + "> lista = new DAL.Dao<Tab" + tabelaFormatada + ">().RetornaLista(strSql.ToString(), new List<Tab" + tabelaFormatada + ">());"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// retorna lista do tipo do objeto"); objCodigo.AppendLine(tb + tb + tb + tb + "return lista;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); #endregion #region metodo FindAllGenerico com where // metodo FindAll-------------------------------- objCodigo.AppendLine(tb + tb + "//Métodos"); objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros e retorna um DataSet."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public IEnumerable<Tab" + tabelaFormatada + "> FindAllLista(string _filtro)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( \" + _filtro + \" ) \");"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "IEnumerable<Tab" + tabelaFormatada + "> lista = new DAL.Dao<Tab" + tabelaFormatada + ">().RetornaLista(strSql.ToString(), new List<Tab" + tabelaFormatada + ">());"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// retorna lista do tipo do objeto"); objCodigo.AppendLine(tb + tb + tb + tb + "return lista;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); #endregion // metodo FindAll-------------------------------- objCodigo.AppendLine(tb + tb + "//Métodos"); objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros e retorna um DataSet."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindAll()"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // metodo FindAll com orderby-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros com ordenação e retorna um DataSet."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_orderby\">campo de ordenação</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindAll(string _orderby)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" ORDER BY \" + _orderby);"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // metodo FindAllByWhere-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros com filtro."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_filtro (\"id_campo = 1 AND campo1 = 'texto' OR campo2 LIKE 'r%'\")\">filtro da consulta</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindByWhere(string _filtro)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( \" + _filtro + \" ) \");"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // metodo FindAllByWhere com ordenação-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros com filtro e ordenação."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_filtro (\"id_campo = 1 AND campo1 = 'texto' OR campo2 LIKE 'r%'\")\">filtro da consulta</param>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_orderby\">campo de ordenação</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindByWhere(string _filtro, string _orderby)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta(" SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.Append(objDr.GetName(i) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( \" + _filtro + \" ) \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" ORDER BY \" + _orderby);"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // MÉTODOS DE SELEÇÃO INDIVIDUAL // faz um método de filtro para cada coluna da tabela // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); // Objeto da clase library objLib = new Library.Library(); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec; i++) { // lista as colunas // metodo FindAllBy "campo" -------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros por " + objDr.GetName(i) + "."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_" + objDr.GetName(i) + "\">filtro da consulta</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindBy_" + objDr.GetName(i) + "(" + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " _" + objDr.GetName(i) + ")"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); for (int j = 0; j < nunrec - 1; j++) { // lista as colunas objCodigo.Append(objDr.GetName(j) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( " + objLib.SelectParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " ) \");"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // lista as colunas // metodo FindAllBy "campo" -------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Seleciona todos os registros por " + objDr.GetName(i) + "."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_" + objDr.GetName(i) + "\">filtro da consulta</param>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"_orderby\">campo de ordenação</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>DataSet</returns>"); objCodigo.AppendLine(tb + tb + "public DataSet FindBy_" + objDr.GetName(i) + "(" + objLib.DefineTipo(objDr.GetDataTypeName(i).ToString()) + " _" + objDr.GetName(i) + ", string _orderby)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SELECT \"); "); //objCodigo.AppendLine(tb + tb + tb + tb + "// colunas"); objCodigo.Append(tb + tb + tb + tb + "strSql.Append(\" "); for (int j = 0; j < nunrec - 1; j++) { // lista as colunas objCodigo.Append(objDr.GetName(j) + ", "); } // lista a última coluna sem a virgula objCodigo.Append(objDr.GetName(nunrec - 1) + " "); objCodigo.AppendLine(" \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" FROM " + strTabela + " \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( " + objLib.SelectParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " ) \");"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" ORDER BY \" + _orderby);"); objCodigo.AppendLine(tb + tb + tb + tb + "string sql = strSql.ToString();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa consulta e retorna um DataSet"); objCodigo.AppendLine(tb + tb + tb + tb + "return objDO.GetDataSet(strSql.ToString(), \"" + strTabela + "\");"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); } // lista a última coluna sem a virgula // Fecha conexão objBanco.CloseConn(); objBanco = null; // fazer toda validação dos campos // metodo Insert-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Insere os registros do banco e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"tab\">objetos vo do banco</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>int</returns>"); objCodigo.AppendLine(tb + tb + "public int Insert(Tab" + tabelaFormatada + " tab)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" INSERT INTO " + strTabela + " \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" (\"); "); // pega todas as colunas da tabela // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec - 1; i++) { // lista as colunas objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objDr.GetName(i) + ", \"); "); } // lista a última coluna sem a virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objDr.GetName(nunrec - 1) + " \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" ) \"); "); // Valores objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" VALUES (\"); "); // objeto da classe Libary objLib = new Library.Library(); for (int i = 0; i < nunrec - 1; i++) { object valorDefaultColuna = objBanco.RetornaValor("SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @Tabela AND COLUMN_NAME = @Coluna ", new System.Collections.ArrayList() { "@Tabela", "@Coluna" }, new System.Collections.ArrayList() { strTabela, objDr.GetName(i).ToString() }); if (valorDefaultColuna != DBNull.Value) { objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + "DEFAULT" + ", \"); "); } else { // lista as colunas objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objLib.InsertParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()).Replace("_vo", "tab") + ", \"); "); } } object valorDefaultColuna2 = objBanco.RetornaValor("SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @Tabela AND COLUMN_NAME = @Coluna ", new System.Collections.ArrayList() { "@Tabela", "@Coluna" }, new System.Collections.ArrayList() { strTabela, objDr.GetName(nunrec - 1).ToString() }); if (valorDefaultColuna2 != DBNull.Value) { objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + "DEFAULT" + " )\"); "); } else { // lista a última coluna sem a virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objLib.InsertParam(objDr.GetName(nunrec - 1).ToString(), objDr.GetDataTypeName(nunrec - 1).ToString()).Replace("_vo", "tab") + " )\"); "); } //objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" ) \"); "); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa comando e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + tb + tb + "object retorno = objDO.ExecultarScript(strSql.ToString());"); objCodigo.AppendLine(tb + tb + tb + tb + "return Convert.ToInt32(retorno.ToString() == \"\" ? 1 : 0 );"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // metodo Update-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Atualiza os registros do banco e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"tab\">objetos vo do banco</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>int</returns>"); objCodigo.AppendLine(tb + tb + "public int Update(Tab" + tabelaFormatada + " tab)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" UPDATE " + strTabela + " \"); "); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" SET \"); "); // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); // Cria o objeto da classe Library objLib = new Library.Library(); nunrec = objDr.FieldCount; for (int i = 0; i < nunrec; i++) { if (i == 0)//1º linha { if (objDr.GetName(i).ToString() == "DataCadastro") { if (chkAtualizarCampoDataCadastro) { //sem virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } if (!chkAtualizarCampoDataCadastro) { objCodigo.AppendLine(tb + tb + tb + tb + "//strSql.Append(\" " + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } } else { //sem virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" " + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } } else { if (objDr.GetName(i).ToString() == "DataCadastro") { if (chkAtualizarCampoDataCadastro) { //com virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\"," + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } if (!chkAtualizarCampoDataCadastro) { objCodigo.AppendLine(tb + tb + tb + tb + "//strSql.Append(\"," + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } } else { //com virgula objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\"," + objLib.UpdateParam(objDr.GetName(i).ToString(), objDr.GetDataTypeName(i).ToString()) + " " + " \"); "); } } } objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE (" + objLib.UpdateParam(objDr.GetName(0).ToString(), objDr.GetDataTypeName(0).ToString()) + " ) \");"); // Fecha conexão objBanco.CloseConn(); objBanco = null; objLib = null; objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa comando e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + tb + tb + "object retorno = objDO.ExecultarScript(strSql.ToString());"); objCodigo.AppendLine(tb + tb + tb + tb + "return Convert.ToInt32(retorno.ToString() == \"\" ? 1 : 0 );"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // metodo Delete-------------------------------- objCodigo.AppendLine(tb + tb + "/// <summary>"); objCodigo.AppendLine(tb + tb + "/// Deleta os registros do banco e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + "/// </summary>"); objCodigo.AppendLine(tb + tb + "/// <param name=\"tab\">objetos vo do banco</param>"); objCodigo.AppendLine(tb + tb + "/// <returns>int</returns>"); objCodigo.AppendLine(tb + tb + "public int Delete(Tab" + tabelaFormatada + " tab)"); objCodigo.AppendLine(tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + "try"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = new StringBuilder();"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" DELETE FROM " + strTabela + " \"); "); // Abre conexão objBanco = new Banco.Banco(_conexao); // Faz a leitura de todas as colunas da tabela objDr = objBanco.QueryConsulta("SELECT * FROM " + strTabela); objCodigo.AppendLine(tb + tb + tb + tb + "strSql.Append(\" WHERE ( " + objDr.GetName(0).ToString() + " = '\" + tab." + objDr.GetName(0).ToString() + " + \"' ) \");"); // Fecha conexão objBanco.CloseConn(); objBanco = null; objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "objDO = new DAL.Dao();"); objCodigo.AppendLine(); objCodigo.AppendLine(tb + tb + tb + tb + "// executa comando e retorna o número de linhas afetadas."); objCodigo.AppendLine(tb + tb + tb + tb + "object retorno = objDO.ExecultarScript(strSql.ToString());"); objCodigo.AppendLine(tb + tb + tb + tb + "return Convert.ToInt32(retorno.ToString() == \"\" ? 1 : 0 );"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "catch (Exception er)"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "throw new Exception(\"Aconteceu um erro:\" + er.Message.ToString()); "); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + tb + "finally"); objCodigo.AppendLine(tb + tb + tb + "{"); objCodigo.AppendLine(tb + tb + tb + tb + "strSql = null;"); objCodigo.AppendLine(tb + tb + tb + "}"); objCodigo.AppendLine(tb + tb + "}"); objCodigo.AppendLine(); // Fim dos métodos BO objCodigo.AppendLine(tb + "}"); objCodigo.AppendLine(); objCodigo.AppendLine("}"); return(objCodigo); }