/// <summary> /// Classe Servico /// </summary> /// <param name="NomeTabela"></param> /// <param name="NameSpace"></param> /// <returns></returns> public string CriandoClasseServico(string NomeTabela, string NameSpace, string NameSchema) { Using = string.Empty; NameSpaceProjeto = string.Empty; NomeClasse = string.Empty; Atributo = string.Empty; CampoChavePrimaria = 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.DirNegocioServicoFisico(NameSpace); string _NameSpacesLogico = dir.DirNegocioServicoLogico(NameSpace); NaoExisteClasse = _NameSpacesFisico + NomeTabelaSemSchema + "Servico.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 SEACore.Infra.Interfaces;" + Environment.NewLine; Using += "using SEACore.MensagemSistema;" + Environment.NewLine; Using += "using SEACore.Negocio.Interface;" + Environment.NewLine; Using += "using System.Collections.Generic;" + Environment.NewLine; NameSpaceProjeto += "namespace " + _NameSpacesLogico; NameSpaceProjeto += Environment.NewLine; NameSpaceProjeto += "{"; NameSpaceProjeto += Environment.NewLine; //Nome da classe NomeClasse = "\tpublic class " + NomeTabelaSemSchema + "Servico: I" + NomeTabelaSemSchema + "Servico" + Environment.NewLine; NomeClasse += "\t{"; NomeClasse += Environment.NewLine; //Declarando da Interface Servico NomeClasse += "\t\tI" + NomeTabelaSemSchema + " _i" + NomeTabelaSemSchema + ";" + Environment.NewLine; NomeClasse += Environment.NewLine; //Construtor NomeClasse += "\t\tpublic " + NomeTabelaSemSchema + "Servico(I" + NomeTabelaSemSchema + " i" + NomeTabelaSemSchema + ")" + Environment.NewLine; NomeClasse += "\t\t{" + Environment.NewLine; NomeClasse += "\t\t\t_i" + NomeTabelaSemSchema + " = " + "i" + NomeTabelaSemSchema + ";" + Environment.NewLine; NomeClasse += "\t\t}" + Environment.NewLine; NomeClasse += Environment.NewLine; NomeClasse += "\t\tpublic void Dispose(){}" + Environment.NewLine + Environment.NewLine; var objTabela = ObterPropriedadeTabelaOracle(NomeTabela); var objChave = new Tabela(); foreach (var item in objTabela) { if (item.NaoNulo.Equals("N")) { objChave = ObterPrimaryKeyTabelaOracle(item.Coluna.Trim(), item.Nome.Trim()); break; } } if (objChave != null) { if (objChave.ChavePrimaria.Equals("P")) { CampoChavePrimaria = NomeTabelaSemSchema.ToLower() + "." + objChave.Coluna; //Inicio Método Salvar NomeClasse += "\t\t/// <summary>" + Environment.NewLine; NomeClasse += "\t\t/// Método Salvar " + NomeTabelaSemSchema + Environment.NewLine; NomeClasse += "\t\t/// </summary>" + Environment.NewLine; NomeClasse += "\t\t/// <param name=" + NomeTabelaSemSchema.ToLower() + ">Object</param>" + Environment.NewLine; NomeClasse += "\t\t/// <returns>Object</returns>" + Environment.NewLine; NomeClasse += "\t\tpublic " + NomeTabelaSemSchema + " Salvar(" + NomeTabelaSemSchema + " " + NomeTabelaSemSchema.ToLower() + ")" + Environment.NewLine; NomeClasse += "\t\t{" + Environment.NewLine; //Inicio Try NomeClasse += "\t\t\ttry" + Environment.NewLine; NomeClasse += "\t\t\t{" + Environment.NewLine; //If de Inclusao NomeClasse += "\t\t\t\tif(" + CampoChavePrimaria + "==0)" + Environment.NewLine; NomeClasse += "\t\t\t\t{" + Environment.NewLine; NomeClasse += "\t\t\t\t\t _i" + NomeTabelaSemSchema + ".Salvar(" + NomeTabelaSemSchema.ToLower() + ");" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.Mensagem = Mensagens.Sucesso;" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.IsValidacao = true;" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.Operacao = \"I\";" + Environment.NewLine; NomeClasse += "\t\t\t\t}" + Environment.NewLine; //Else de Alteracao NomeClasse += "\t\t\t\telse" + Environment.NewLine; NomeClasse += "\t\t\t\t{" + Environment.NewLine; NomeClasse += "\t\t\t\t\t _i" + NomeTabelaSemSchema + ".Alterar(" + NomeTabelaSemSchema.ToLower() + ");" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.Mensagem = Mensagens.Alteracao;" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.IsValidacao = true;" + Environment.NewLine; NomeClasse += "\t\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.Operacao = \"A\";" + Environment.NewLine; NomeClasse += "\t\t\t\t}" + Environment.NewLine; //Fim do Try NomeClasse += "\t\t\t}" + Environment.NewLine; //Inicio do Catch NomeClasse += "\t\t\tcatch (Exception ex)" + Environment.NewLine; NomeClasse += "\t\t\t{" + Environment.NewLine; NomeClasse += "\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.Mensagem = Mensagens.Erro + \"" + "\" + ex.Message;" + Environment.NewLine; NomeClasse += "\t\t\t\t" + NomeTabelaSemSchema.ToLower() + ".Validacao.IsValidacao = false;" + Environment.NewLine; //Fim do Catch NomeClasse += "\t\t\t}" + Environment.NewLine; NomeClasse += Environment.NewLine; NomeClasse += "\t\t\treturn " + NomeTabelaSemSchema.ToLower() + ";"; NomeClasse += Environment.NewLine; //Fim do Metodo Salvar NomeClasse += "\t\t}" + Environment.NewLine; NomeClasse += Environment.NewLine; } } //Inicio do Metodo ObterPorId NomeClasse += "\t\t/// <summary>" + Environment.NewLine; NomeClasse += "\t\t/// Método ObterPorId " + Environment.NewLine; NomeClasse += "\t\t/// </summary>" + Environment.NewLine; NomeClasse += "\t\t/// <param name=" + objChave.Coluna + ">Object</param>" + Environment.NewLine; NomeClasse += "\t\t/// <returns>int</returns>" + Environment.NewLine; NomeClasse += "\t\tpublic " + NomeTabelaSemSchema + " ObterPorId(int id)" + Environment.NewLine; NomeClasse += "\t\t{" + Environment.NewLine; NomeClasse += "\t\t\treturn _i" + NomeTabelaSemSchema + ".Obter(exp=> exp." + objChave.Coluna + " == id);" + Environment.NewLine; NomeClasse += "\t\t}" + Environment.NewLine; NomeClasse += Environment.NewLine; //Fim do Metodo ObterPorId //Inicio do Metodo Lista NomeClasse += "\t\t/// <summary>" + Environment.NewLine; NomeClasse += "\t\t/// Método Lista " + Environment.NewLine; NomeClasse += "\t\t/// </summary>" + Environment.NewLine; NomeClasse += "\t\t/// <returns>IEnumerable<" + NomeTabelaSemSchema + "></returns>" + Environment.NewLine; NomeClasse += "\t\tpublic " + "IEnumerable<" + NomeTabelaSemSchema + "> Lista" + NomeTabelaSemSchema + "()" + Environment.NewLine; NomeClasse += "\t\t{" + Environment.NewLine; NomeClasse += "\t\t\treturn _i" + NomeTabelaSemSchema + ".Obter();" + Environment.NewLine; NomeClasse += "\t\t}" + Environment.NewLine; //Fim do Metodo Lista 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 + "Servico.cs criada com sucesso. Caminho: " + _NameSpacesFisico + NomeTabelaSemSchema + "Servico.cs"); }