/// <summary> /// Classe de MapeamentoEntidade /// </summary> /// <param name="NomeTabela"></param> /// <param name="NameSpace"></param> /// <returns></returns> public string CriandoClasseMapeamentoEntidade(string NomeTabela, string NameSpace, string NameSchema) { Using = string.Empty; NameSpaceProjeto = string.Empty; NomeClasse = string.Empty; Atributo = string.Empty; NomeTabelaSemSchema = string.Empty; if (NameSchema.Equals(NomeTabela.Substring(0, 3))) { var _NomeTabela = NomeTabela.Remove(0, 3); var _PrimeiroNome = _NomeTabela.Substring(0, 1); var _RestoNome = NomeTabela.Remove(0, 4); NomeTabelaSemSchema = _PrimeiroNome + _RestoNome.ToLower(); } else { //var _NomeTabela = NomeTabela.Remove(0, 3); var _PrimeiroNome = NomeTabela.Substring(0, 1); var _RestoNome = NomeTabela.Remove(0, 1); NomeTabelaSemSchema = _PrimeiroNome + _RestoNome.ToLower(); } dir = new Diretorio(); string _NameSpacesFisico = path + dir.DirInfraMapeamentoEntidadeFisico(NameSpace); string _NameSpacesLogico = dir.DirInfraMapeamentoEntidadeLogico(NameSpace); NaoExisteClasse = _NameSpacesFisico + NomeTabelaSemSchema + "Map.cs"; //// Determine whether the directory exists. //if (Directory.Exists(@path)) //{ // ExisteArquivo = System.IO.File.Exists(NaoExisteClasse); // if (ExisteArquivo) // return "Essa classe já existe."; //} Using += "using System;" + Environment.NewLine; Using += "using SEACore.Infra.Entidades;" + Environment.NewLine; Using += "using System.ComponentModel.DataAnnotations.Schema;" + Environment.NewLine; Using += "using System.Data.Entity.ModelConfiguration;" + Environment.NewLine; //NameSpace do Projeto NameSpaceProjeto += "namespace " + _NameSpacesLogico; NameSpaceProjeto += Environment.NewLine; NameSpaceProjeto += "{"; NameSpaceProjeto += Environment.NewLine; //Nome da classe NomeClasse = "\tpublic class " + NomeTabelaSemSchema + "Map " + ": EntityTypeConfiguration<" + NomeTabelaSemSchema + ">" + Environment.NewLine; NomeClasse += "\t{"; NomeClasse += Environment.NewLine; //Método Construtor da Classe NomeClasse += "\t\tpublic " + NomeTabelaSemSchema + "Map()" + Environment.NewLine; NomeClasse += "\t\t{" + Environment.NewLine; var objTabela = ObterPropriedadeTabelaOracle(NomeTabela); Atributo += "\t\t\tthis.ToTable(\"" + NomeTabela.ToUpper() + "\", \"" + NameSchema + "\");" + Environment.NewLine; foreach (var item in objTabela) { var _Coluna = item.Coluna.ToLower(); var _ColunaUpper = _Coluna.Length > 1 ? char.ToUpper(_Coluna[0]) + _Coluna.Substring(1) : _Coluna.ToUpper(); Atributo += "\t\t\tthis.Property(t => t." + _ColunaUpper + ").HasColumnName(\"" + item.Coluna.ToUpper() + "\"); " + Environment.NewLine; } NomeClasse += Atributo;// + Environment.NewLine; NomeClasse += "\t\t}" + Environment.NewLine; NomeClasse += "\t}"; NameSpaceProjeto += NomeClasse; NameSpaceProjeto += Environment.NewLine; NameSpaceProjeto += "}"; Using += NameSpaceProjeto; using (FileStream fs = new FileStream(NaoExisteClasse, FileMode.Create)) { using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) { w.WriteLine(Using); } } return("Classe " + NomeTabelaSemSchema + "Map.cs criada com sucesso. Caminho: " + _NameSpacesFisico + NomeTabelaSemSchema + "Map.cs"); }