Exemple #1
0
        /// <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");
        }