private void GeraMetodoGet(string NomeDaTabela, TrataNome tratanome, StreamWriter aFile, bool RetiraS) { aFile.Write("\n"); aFile.Write(" public virtual IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "> Get" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "()\n"); aFile.Write(" {\n"); aFile.Write(" using (ISession session = NHibernateHelper.OpenSession())\n"); aFile.Write(" {\n"); aFile.Write(@" return (from " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + " in session.Linq<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ">()" + "\n \t\t\t\t\t select " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ").ToList();\n"); aFile.Write(" }\n"); aFile.Write(" }\n"); aFile.Write("\n"); aFile.Write(" public virtual IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "> Get" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "(ISession session)\n"); aFile.Write(" {\n"); aFile.Write(@" return (from " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + " in session.Linq<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ">()" + "\n \t\t\t\t select " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ").ToList();\n"); aFile.Write(" }\n"); aFile.Write("\n"); aFile.Write("\n"); }
public void GeraArquivo(ProgressBar progressBar, List<string> ListaTabelas) { ITabelasECampos tabelasECamposSqlServer = TabelaECamposFactoy.GetTabelasECampos(BancoDeDados); progressBar.Maximum = ListaTabelas.Count; string NomeAssembly = string.Empty; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = GerarArquivoCSharp.CaminhoInicial; openFileDialog.Filter = "csproj files (*.csproj)|*.csproj"; openFileDialog.RestoreDirectory = true; string caminho; if (openFileDialog.ShowDialog() == DialogResult.OK) { caminho = openFileDialog.FileName; string NomeDoArquivo = @"\" + openFileDialog.SafeFileName.ToString(); string Nomenamespace = NomeDoArquivo.Substring(1, NomeDoArquivo.Length - 8); caminho = caminho.Substring(0, caminho.Length - (7 + Nomenamespace.Length)); GerarArquivoCSharp.CaminhoInicial = caminho; DirectoryInfo diretorio = new DirectoryInfo(caminho + @"\DLL NHibernate"); if (!diretorio.Exists) { diretorio.Create(); } string[] files = System.IO.Directory.GetFiles(Application.StartupPath + @"\DLL NHibernate"); string fileName; string destFile; foreach (string s in files) { fileName = System.IO.Path.GetFileName(s); destFile = System.IO.Path.Combine(caminho + @"\DLL NHibernate", fileName); System.IO.File.Copy(s, destFile, true); } string caminhoEntidades = caminho + @"\Entidades"; string caminhoMapeamentos = caminho + @"\Mapeamentos"; string caminhoConexao = caminho + @"\Conexao"; string caminhoRepositorios = caminho + @"\Repositorios"; string caminhoGeral = caminho + @"\Geral"; string caminhoNHibernateHelp = caminho + @"\NHibernateHelper"; IncluirDLLNoProjeto(caminho + NomeDoArquivo); if (this.GeraNHibernateHelper) { this.ClasseNHibernateHelp(Nomenamespace, caminhoNHibernateHelp); this.IncluirArquivoNoProjeto(caminho + NomeDoArquivo, @"NHibernateHelper\" + "NHibernateHelper.cs", true, "Compile", ref NomeAssembly); this.GeraArquivoXMLDeConfigNHibernate(Nomenamespace, caminho, this.RetiraS, ListaTabelas); this.IncluirArquivoNoProjeto(caminho + NomeDoArquivo, "hibernate.cfg.xml", true, "Content", ref NomeAssembly); } TrataNome tratanome = new TrataNome(); foreach (string tabela in ListaTabelas) { if (this.GeraEntidades) { //Gera os arquivos de class this.GeraArquivoEntidades(Nomenamespace, caminhoEntidades, tabela, this.RetiraS, this.PropriedadesAutomaticas); //Incluir os arquivos no projeto this.IncluirArquivoNoProjeto(caminho + NomeDoArquivo, @"Entidades\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, this.RetiraS) + ".cs", this.GeraEntidades, "Compile", ref NomeAssembly); this.GeraArquivoXMLDaEntidades(Nomenamespace, caminhoMapeamentos, tabela, this.Lazy, NomeAssembly, this.RetiraS); this.IncluirArquivoNoProjeto(caminho + NomeDoArquivo, @"Mapeamentos\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, this.RetiraS) + ".hbm.xml", this.GeraEntidades, "EmbeddedResource", ref NomeAssembly); } if (this.GeraclassesRepositorio) { this.IncluirArquivoNoProjeto(caminho + NomeDoArquivo, @"Repositorios\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, this.RetiraS) + "Repositorios.cs", this.GeraclassesRepositorio, "Compile", ref NomeAssembly); this.GeraArquivosRepositorios(Nomenamespace, caminhoRepositorios, tabela, this.RetiraS); } progressBar.Value += 1; } MessageBox.Show("Operação Realizada com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); } progressBar.Value = 0; }
private void GeraMetodoDeletar(string NomeDaTabela, TrataNome tratanome, StreamWriter aFile, bool RetiraS) { aFile.Write(" public virtual void Delete(" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ")\n"); aFile.Write(" {\n"); aFile.Write(" using (ISession session = NHibernateHelper.OpenSession())\n"); aFile.Write(" {\n"); aFile.Write(" using (ITransaction transaction = session.BeginTransaction())\n"); aFile.Write(" {\n"); aFile.Write(" try\n"); aFile.Write(" {\n"); aFile.Write(" session.Delete(" + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ");\n"); aFile.Write(" transaction.Commit();\n"); aFile.Write(" session.Flush();\n"); aFile.Write(" session.Close();\n"); aFile.Write(" }\n"); aFile.Write(" catch (NHibernate.HibernateException)\n"); aFile.Write(" {\n"); aFile.Write(" transaction.Rollback();\n"); aFile.Write(" }\n"); aFile.Write(" }\n"); aFile.Write(" }\n"); aFile.Write(" }\n"); aFile.Write("\n"); aFile.Write(" public virtual void Delete(" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ", ISession session)\n"); aFile.Write(" {\n"); aFile.Write(" session.Delete(" + tratanome.ConverteParaMinusculoERetiraUnderline(NomeDaTabela, RetiraS) + ");\n"); aFile.Write(" }\n"); aFile.Write("\n"); }
private void GeraConstrutores(string NomeDaTabela, TrataNome tratanome, ITabelasECampos tabelasecampos, List<string> Listacampos, StreamWriter aFile, bool RetiraS) { aFile.Write("\n"); aFile.Write(" public " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "()\n"); aFile.Write(" {\n"); aFile.Write(" }\n\n"); aFile.Write(" public " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "("); string linha = string.Empty; var count = tabelasecampos.CamposChavesDaTabela(NomeDaTabela).Count; bool verificaparametro = true; bool verificathis = true; foreach (string campo in Listacampos) { if (count > 1 && verificaparametro) { linha += "PK Pk, "; verificaparametro = false; } if (count == 1 || !tabelasecampos.CampoChavesDaTabela(NomeDaTabela, campo)) { if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campo) != "NULL") { linha += tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campo), RetiraS) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campo, RetiraS) + ", "; } else { linha += tabelasecampos.TipoDadoCSharp(NomeDaTabela, campo) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campo, RetiraS) + ", "; } } } linha = linha.Substring(0, linha.Length - 2); aFile.Write(linha); aFile.Write(")\n"); aFile.Write(" {\n"); foreach (string campo in Listacampos) { if (count > 1 && verificathis) { aFile.Write(" this.Pk = Pk;\n"); verificathis = false; } if (count == 1 || !tabelasecampos.CampoChavesDaTabela(NomeDaTabela, campo)) { aFile.Write(" this." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campo, RetiraS) + " = " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campo, RetiraS) + ";\n"); } } aFile.Write(" }"); aFile.Write("\n"); }
private void GeraGetSet(string NomeDaTabela, TrataNome tratanome, ITabelasECampos tabelasecampos, List<string> Listacampos, StreamWriter aFile, bool RetiraS, bool PropriedadesAutomaticas) { aFile.Write("\n"); var count = tabelasecampos.CamposChavesDaTabela(NomeDaTabela).Count; if (count > 1) { aFile.Write("\t\tpublic virtual PK Pk"); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.WriteLine("\t\t{"); aFile.WriteLine("\t\t\tget { return this.pk; }"); aFile.WriteLine("\t\t\tset { pk = value; }"); aFile.WriteLine("\t\t}"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } foreach (string campos in Listacampos) { if (count == 1 || !tabelasecampos.CampoChavesDaTabela(NomeDaTabela, campos)) { string linha; if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { linha = " public virtual " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos.ToLower(), RetiraS); aFile.Write(linha); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write(" {\n"); aFile.Write(" get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + "; }\n"); aFile.Write(" set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + " = value; }\n"); aFile.Write(" }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } else { linha = " public virtual " + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos.ToLower(), RetiraS); aFile.Write(linha); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write(" {\n"); aFile.Write(" get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + "; }\n"); aFile.Write(" set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + " = value; }\n"); aFile.Write(" }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } } } string nomedatabelapassou = string.Empty; int i = 0; foreach (string tabela in tabelasecampos.TabelasOndeARelacionamento(NomeDaTabela)) { if (nomedatabelapassou == tabela) { i += 1; nomedatabelapassou = tabela; } else { i = 0; nomedatabelapassou = tabela; } if (i > 0) { aFile.Write(" public virtual IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "> " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i], RetiraS) + "List"); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write(" {\n"); aFile.Write(" get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i], RetiraS) + "List; }\n"); aFile.Write(" set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i], RetiraS) + "List = value; }\n"); aFile.Write(" }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } else { aFile.Write(" public virtual IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "> " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "List"); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write(" {\n"); aFile.Write(" get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(tabela, RetiraS) + "List; }\n"); aFile.Write(" set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(tabela, RetiraS) + "List = value; }\n"); aFile.Write(" }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } } aFile.Write("\n"); }
private void GeraArquivoXMLDeConfigNHibernate(string NomeNamespace, string caminho, bool RetiraS, List<string> ListaTabelas) { TrataNome tratanome = new TrataNome(); ITabelasECampos tabelasecampos = TabelaECamposFactoy.GetTabelasECampos(BancoDeDados); DirectoryInfo diretorio = new DirectoryInfo(caminho); if (!diretorio.Exists) { diretorio.Create(); } StreamWriter aFile = new StreamWriter(caminho + "\\hibernate.cfg.xml", false, Encoding.ASCII); aFile.WriteLine("<?xml version=\"1.0\"?>"); aFile.WriteLine("<hibernate-configuration xmlns=\"urn:nhibernate-configuration-2.2\">"); aFile.WriteLine("\t<session-factory>"); aFile.WriteLine(""); aFile.WriteLine("\t<!-- configurations -->"); aFile.WriteLine("\t\t<property name=\"connection.provider\">NHibernate.Connection.DriverConnectionProvider</property>"); aFile.WriteLine("\t\t<property name=\"dialect\">" + tabelasecampos.DialectDoBancodeDados() + "</property>"); aFile.WriteLine("\t\t<property name=\"connection.driver_class\">" + tabelasecampos.ConnectionDriver() + "</property>"); aFile.WriteLine("\t\t<property name=\"connection.connection_string\">" + StringConexao.Stringconexao + "</property>"); aFile.WriteLine("\t\t<property name=\"proxyfactory.factory_class\">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>"); aFile.WriteLine("\t\t<property name=\"show_sql\">true</property>"); aFile.WriteLine(""); aFile.WriteLine("\t<!-- mapping files -->"); foreach (string tabelas in ListaTabelas) { if (tabelasecampos.CamposChavesDaTabela(tabelas).Count > 0) { aFile.WriteLine("\t\t<mapping resource=\"" + NomeNamespace + ".Mapeamentos." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelas, RetiraS) + ".hbm.xml\" assembly=\"" + NomeNamespace + "\"/>"); } } aFile.WriteLine(""); aFile.WriteLine("</session-factory>"); aFile.WriteLine("</hibernate-configuration>"); aFile.Close(); }
private void GeraClassePK(string NomeDaTabela, TrataNome tratanome, ITabelasECampos tabelasecampos, StreamWriter aFile, bool RetiraS, bool PropriedadesAutomaticas) { aFile.WriteLine("\t\t[Serializable]"); aFile.WriteLine("\t\tpublic class PK"); aFile.WriteLine("\t\t{"); string linha = string.Empty; if (!PropriedadesAutomaticas) { foreach (string campos in tabelasecampos.CamposChavesDaTabela(NomeDaTabela)) { if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { linha = "\t\t\tprivate " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + ";\n"; } else { linha = "\t\t\tprivate " + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + ";\n"; } aFile.Write(linha); } aFile.Write("\n"); } //Contrutores aFile.Write("\t public PK()\n"); aFile.Write("\t {\n"); aFile.Write("\t }\n\n"); aFile.Write("\t public PK("); linha = string.Empty; foreach (string campo in tabelasecampos.CamposChavesDaTabela(NomeDaTabela)) { if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campo) != "NULL") { linha += tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campo), RetiraS) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campo, RetiraS) + ", "; } else { linha += tabelasecampos.TipoDadoCSharp(NomeDaTabela, campo) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campo, RetiraS) + ", "; } } linha = linha.Substring(0, linha.Length - 2); aFile.Write(linha); aFile.Write(")\n"); aFile.Write("\t {\n"); foreach (string campo in tabelasecampos.CamposChavesDaTabela(NomeDaTabela)) { aFile.Write("\t this." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campo, RetiraS) + " = " + tratanome.ConverteParaMinusculoERetiraUnderline(campo, RetiraS) + ";\n"); } aFile.Write("\t }\n\n"); linha = string.Empty; foreach (string campos in tabelasecampos.CamposChavesDaTabela(NomeDaTabela)) { if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { linha = "\t public virtual " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos.ToLower(), RetiraS); aFile.Write(linha); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write("\t {\n"); aFile.Write("\t get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + "; }\n"); aFile.Write("\t set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + " = value; }\n"); aFile.Write("\t }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } else { linha = "\t public virtual " + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + " " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos.ToLower(), RetiraS); aFile.Write(linha); if (!PropriedadesAutomaticas) { aFile.Write("\n"); aFile.Write("\t {\n"); aFile.Write("\t get{ return this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + "; }\n"); aFile.Write("\t set{ this." + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + " = value; }\n"); aFile.Write("\t }\n"); aFile.Write("\n"); } else { aFile.Write(" { get; set; }\n"); } } } aFile.Write("\n\n"); aFile.WriteLine("\t\t\tpublic override bool Equals(object obj)"); aFile.WriteLine("\t\t\t{"); aFile.WriteLine("\t\t\t return base.Equals(obj);"); aFile.WriteLine("\t\t\t}\n"); aFile.WriteLine("\t\t\tpublic override int GetHashCode()"); aFile.WriteLine("\t\t\t{"); aFile.WriteLine("\t\t\t return base.GetHashCode();"); aFile.WriteLine("\t\t\t}\n"); aFile.WriteLine("\t\t}\n"); }
private void GeraArquivoXMLDaEntidades(string NomeNamespace, string caminho, string NomeDaTabela, string Lazy, string NomeAssembly, bool RetiraS) { TrataNome tratanome = new TrataNome(); ITabelasECampos tabelasecampos = TabelaECamposFactoy.GetTabelasECampos(BancoDeDados); List<string> Listacampos = tabelasecampos.CamposDaTabela(NomeDaTabela); DirectoryInfo diretorio = new DirectoryInfo(caminho); if (!diretorio.Exists) { diretorio.Create(); } StreamWriter aFile = new StreamWriter(caminho + "\\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ".hbm.xml", false, Encoding.ASCII); //duas variaveis //para o nome da tabela e campos //o sql server aceita nome de campos e tabelas separados //por isso o careter especial sqlserver [nome da tabela] string Abre = string.Empty; string Fecha = string.Empty; if (BancoDeDados == TiposDeBancoDeDados.SQLSERVER) { Abre = "["; Fecha = "]"; } aFile.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); aFile.WriteLine("<hibernate-mapping xmlns=\"urn:nhibernate-mapping-2.2\" auto-import=\"true\">"); aFile.WriteLine("\t<class name=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ", " + NomeAssembly + "\" table=\"" + Abre + NomeDaTabela + Fecha + "\" lazy=\"" + Lazy + "\">"); aFile.WriteLine(""); //para carantir que id venha primeiro no xml string ID = string.Empty; string Property = string.Empty; int count = 0; foreach (string campos in Listacampos) { if (tabelasecampos.CampoChavesDaTabela(NomeDaTabela, campos)) { if (tabelasecampos.CamposChavesDaTabela(NomeDaTabela).Count == 1) { if (tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) == "string") { ID += "\t\t<id name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"String\" length=\"" + tabelasecampos.TamanhodoCamposString(NomeDaTabela, campos) + "\">\n"; } else { ID += "\t\t<id name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"" + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + "\">\n"; } if (tabelasecampos.CamposIdentityDaTabela(NomeDaTabela, campos)) { ID += "\t\t\t<generator class=\"native\" />\n"; } else { ID += "\t\t\t<generator class=\"assigned\" />\n"; } ID += "\t\t</id>\n\n"; } else { if (count == 0) { ID += "\t\t<composite-id name=\"Pk\" class=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "+PK, " + NomeNamespace + "\">\n"; } count++; // if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { ID += "\t\t\t<key-many-to-one name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" class=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + ", " + NomeNamespace + "\"/>\n"; } else { if (tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) == "string") { ID += "\t\t\t<key-property name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"String\" length=\"" + tabelasecampos.TamanhodoCamposString(NomeDaTabela, campos) + "\"/>\n"; } else { ID += "\t\t\t<key-property name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"" + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + "\"/>\n"; } } if (tabelasecampos.CamposChavesDaTabela(NomeDaTabela).Count == count) { ID += "\t\t</composite-id>\n\n"; } } } else//fim do ID { if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { Property += "\t\t<many-to-one name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" class=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + ", " + NomeNamespace + "\" not-null=\"" + tabelasecampos.CampoOBrigatorio(NomeDaTabela, campos).ToString().ToLower() + "\"/>\n"; } else { if (tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) == "string") { Property += "\t\t<property name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"String\" length=\"" + tabelasecampos.TamanhodoCamposString(NomeDaTabela, campos) + "\" not-null=\"" + tabelasecampos.CampoOBrigatorio(NomeDaTabela, campos).ToString().ToLower() + "\"/>\n"; } else { if (tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) == "byte[]") { Property += "\t\t<property name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"BinaryBlob\" not-null=\"" + tabelasecampos.CampoOBrigatorio(NomeDaTabela, campos).ToString().ToLower() + "\"/>\n"; } else { Property += "\t\t<property name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(campos, RetiraS) + "\" column= \"" + Abre + campos + Fecha + "\" type=\"" + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + "\" not-null=\"" + tabelasecampos.CampoOBrigatorio(NomeDaTabela, campos).ToString().ToLower() + "\"/>\n"; } } } } } aFile.Write(ID); aFile.Write(Property); aFile.WriteLine(""); string nomedatabelapassou = string.Empty; int i = 0; foreach (string tabela in tabelasecampos.TabelasOndeARelacionamento(NomeDaTabela)) { if (nomedatabelapassou == tabela) { i += 1; nomedatabelapassou = tabela; } else { i = 0; nomedatabelapassou = tabela; } if (i > 0) { aFile.Write("\t\t<bag name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i], RetiraS) + "List\""); aFile.Write(" inverse=\"true\""); aFile.Write(" lazy=\"" + Lazy + "\""); aFile.Write(" cascade=\"all\">\n"); aFile.WriteLine("\t\t\t<key column=\"" + Abre + tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i] + Fecha + "\"/>"); aFile.WriteLine("\t\t\t<one-to-many class=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "\"/>"); aFile.WriteLine("\t\t</bag>"); } else { aFile.Write("\t\t<bag name=\"" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "List\""); aFile.Write(" inverse=\"true\""); aFile.Write(" lazy=\"" + Lazy + "\""); aFile.Write(" cascade=\"all\">\n"); aFile.WriteLine("\t\t\t<key column=\"" + Abre + tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i] + Fecha + "\"/>"); aFile.WriteLine("\t\t\t<one-to-many class=\"" + NomeNamespace + "." + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "\"/>"); aFile.WriteLine("\t\t</bag>"); } } aFile.WriteLine(""); aFile.WriteLine("</class>"); aFile.WriteLine("</hibernate-mapping>"); aFile.Close(); }
private void GeraArquivosRepositorios(string NomeNamespace, string caminho, string NomeDaTabela, bool RetiraS) { TrataNome tratanome = new TrataNome(); ITabelasECampos tabelasecampos = TabelaECamposFactoy.GetTabelasECampos(BancoDeDados); DirectoryInfo diretorio = new DirectoryInfo(caminho); if (!diretorio.Exists) { diretorio.Create(); } StreamWriter aFile = new StreamWriter(caminho + "\\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "Repositorios.cs", false, Encoding.ASCII); GeraUsing(aFile); aFile.Write("using System.Data.SqlClient;\n"); aFile.Write("using System.Collections.Generic;\n"); aFile.Write("using System.Collections;\n"); aFile.Write("using NHibernate;\n"); aFile.Write("using System.Linq;\n"); aFile.Write("using NHibernate.Linq;\n\n"); aFile.Write("\n"); aFile.Write("namespace " + NomeNamespace + "\n"); aFile.Write("{\n"); aFile.Write(" public class " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "Repositorios \n"); aFile.Write(" {\n\n"); /*Método responsalver por gera o salvar **/ this.GeraMetodoSalvar(NomeDaTabela, tratanome, aFile, RetiraS); if (!string.IsNullOrEmpty(tabelasecampos.CampoChavesDaTabela(NomeDaTabela))) { /*Método responsalver por gera o atualizar **/ this.GeraMetodoAtualizar(NomeDaTabela, tratanome, aFile, RetiraS); /*Método responsalver por gera o deletar **/ this.GeraMetodoDeletar(NomeDaTabela, tratanome, aFile, RetiraS); /*Método responsalver por gera get **/ this.GeraMetodoGetKey(NomeDaTabela, tratanome, tabelasecampos, aFile, RetiraS); } this.GeraMetodoGet(NomeDaTabela, tratanome, aFile, RetiraS); aFile.Write(" }\n"); aFile.Write("}\n"); aFile.Close(); }
private void GeraArquivoEntidades(string NomeNamespace, string caminho, string NomeDaTabela, bool RetiraS, bool PropriedadesAutomaticas) { TrataNome tratanome = new TrataNome(); ITabelasECampos tabelasecampos = TabelaECamposFactoy.GetTabelasECampos(BancoDeDados); List<string> Listacampos = tabelasecampos.CamposDaTabela(NomeDaTabela); DirectoryInfo diretorio = new DirectoryInfo(caminho); if (!diretorio.Exists) { diretorio.Create(); } StreamWriter aFile = new StreamWriter(caminho + "\\" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ".cs", false, Encoding.ASCII); GeraUsing(aFile); aFile.Write("using System.Collections.Generic;\n"); aFile.Write("\n"); aFile.Write("namespace " + NomeNamespace + "\n"); aFile.Write("{\n"); aFile.Write(" [Serializable]\n"); aFile.Write(" public class " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "\n"); aFile.Write(" {\n\n"); /*Gera as variaveis privadas */ this.GeraVariaveis(NomeDaTabela, tratanome, tabelasecampos, Listacampos, aFile, RetiraS, PropriedadesAutomaticas); /*Gera os Construtores */ this.GeraConstrutores(NomeDaTabela, tratanome, tabelasecampos, Listacampos, aFile, RetiraS); /*Gera os Get e Set */ this.GeraGetSet(NomeDaTabela, tratanome, tabelasecampos, Listacampos, aFile, RetiraS, PropriedadesAutomaticas); aFile.Write(" }\n"); aFile.Write("}\n"); aFile.Close(); }
public void GeraMetodoGetKey(string NomeDaTabela, TrataNome tratanome, ITabelasECampos tabelasecampos, StreamWriter aFile, bool RetiraS) { aFile.Write("\n"); aFile.Write(" public " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + " Get" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "(object id)\n"); aFile.Write(" {\n"); aFile.Write(" using (ISession session = NHibernateHelper.OpenSession())\n"); aFile.Write(" {\n"); aFile.Write(" " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + " toReturn = session.Get(typeof(" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "), id) as " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ";\n"); aFile.Write(" session.Close();\n"); aFile.Write(" return toReturn;\n"); aFile.Write(" }\n"); aFile.Write(" }\n"); aFile.Write("\n"); aFile.Write(" public " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + " Get" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "(object id, ISession session)\n"); aFile.Write(" {\n"); aFile.Write(" return session.Get(typeof(" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + "), id) as " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(NomeDaTabela, RetiraS) + ";\n"); aFile.Write(" }\n"); aFile.Write("\n"); }
private void GeraVariaveis(string NomeDaTabela, TrataNome tratanome, ITabelasECampos tabelasecampos, List<string> Listacampos, StreamWriter aFile, bool RetiraS, bool PropriedadesAutomaticas) { int count = tabelasecampos.CamposChavesDaTabela(NomeDaTabela).Count; if (count > 1) { GeraClassePK(NomeDaTabela, tratanome, tabelasecampos, aFile, RetiraS, PropriedadesAutomaticas); if (PropriedadesAutomaticas) return; aFile.WriteLine("\t\tprivate PK pk;"); } if (PropriedadesAutomaticas) return; foreach (string campos in Listacampos) { if (count == 1 || !tabelasecampos.CampoChavesDaTabela(NomeDaTabela, campos)) { string linha; if (tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos) != "NULL") { linha = " private " + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabelasecampos.NomeDaTabelaDaChaveEstrgeira(NomeDaTabela, campos), RetiraS) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + ";\n"; } else { linha = " private " + tabelasecampos.TipoDadoCSharp(NomeDaTabela, campos) + " " + tratanome.ConverteParaMinusculoERetiraUnderline(campos.ToLower(), RetiraS) + ";\n"; } aFile.Write(linha); } } string nomedatabelapassou = string.Empty; int i = 0; foreach (string tabela in tabelasecampos.TabelasOndeARelacionamento(NomeDaTabela)) { if (nomedatabelapassou == tabela) { i += 1; nomedatabelapassou = tabela; } else { i = 0; nomedatabelapassou = tabela; } if (i > 0) { aFile.Write(" private IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "> " + tratanome.ConverteParaMinusculoERetiraUnderline(tabelasecampos.CamposChavesEstrageiraDaTabela(tabela)[i], RetiraS) + "List;\n"); } else { aFile.Write(" private IList<" + tratanome.ConverteAPrimeiraLetraParaMaisculoERetiraUnderline(tabela, RetiraS) + "> " + tratanome.ConverteParaMinusculoERetiraUnderline(tabela, RetiraS) + "List;\n"); } } aFile.Write("\n"); }