// o prefixo informa: Alterar, Excluir, Incluir; public static void Commands(Parametros param, string prefixo) { DadosDaClasse.CriarAtributos(param, "protected"); // GERAR Commands; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathCommandsTemplate, @"ClasseCommand.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{Atributos}}", param.Atributos); var nomeArquivo = $"{param.NomeDaClasse}Command.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Commands\"); // GERAR CommandClasseCommand; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathCommandsTemplate, @"CommandoClasseCommand.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{PrefixoClasse}}", prefixo + param.NomeDaClasse); var construtorComPrefixo = param.Construtor; construtorComPrefixo = Util.TrocarPrimeiraOcorrencia(construtorComPrefixo, param.NomeDaClasse, prefixo + param.NomeDaClasse + "Command"); template = template.Replace("{{ConstrutorDaClasseComPrefixo}}", construtorComPrefixo); nomeArquivo = $"{prefixo}{param.NomeDaClasse}Command.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Commands"); }
public static void GerarProjeto(Parametros param) { // GERAR SOLUTION PROJECT; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathSolutionTemplate, @"Solution.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = $"{param.NomeDoSistema}.sln"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDaPastaDoSistemaRaiz); }
public static void ViewModel(Parametros param) { // GERAR ViewModel; DadosDaClasse.CriarAtributos(param, ""); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathApplicationViewModelTemplate, @"ViewModel.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{Atributos}}", param.Atributos); var nomeArquivo = $"{param.NomeDaClasse}ViewModel.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoApplication, @"ViewModels\"); }
// o sufixo informa: Alterado, Alterada, Excluido, Excluida; public static void Events(Parametros param, string sufixo) { // GERAR Events; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathEventsTemplate, @"ClasseEvent.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{ClasseSufixo}}", param.NomeDaClasse + sufixo); template = template.Replace("{{Atributos}}", param.Atributos); var construtorComSufixo = param.Construtor; construtorComSufixo = Util.TrocarPrimeiraOcorrencia(construtorComSufixo, param.NomeDaClasse, param.NomeDaClasse + sufixo + "Event"); template = template.Replace("{{ConstrutorDaClasseComSufixo}}", construtorComSufixo); var nomeArquivo = $"{param.NomeDaClasse}{sufixo}Event.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Events"); }
// o sufixo informa: Alterado, Alterada, Excluido, Excluida; public static void EventHandler(Parametros param, string sufixo1, string sufixo2, string sufixo3) { // GERAR EventHandler; string sfx1 = param.NomeDaClasse + sufixo1; string sfx2 = param.NomeDaClasse + sufixo2; string sfx3 = param.NomeDaClasse + sufixo3; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathEventHandlerTemplate, @"ClasseEventHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{ClasseSufixo1}}", sfx1); template = template.Replace("{{ClasseSufixo2}}", sfx2); template = template.Replace("{{ClasseSufixo3}}", sfx3); var nomeArquivo = $"{param.NomeDaClasse}EventHandler.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"EventHandlers\"); }
public static void IService(Parametros param, string nomeDoMetodoObterTodos) { // GERAR IService; var classeLow = Util.PrimeiroCaracterLowerCase(param.NomeDaClasse); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathApplicationIServiceTemplate, @"IService.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{ClasseLow}}", classeLow); Atributos primeiroAtributo = param.ListaDeAtributos[0]; template = template.Replace("{{NomeId}}", Util.PrimeiroCaracterLowerCase(primeiroAtributo.Nome)); template = template.Replace("{{TipoId}}", primeiroAtributo.Tipo); template = template.Replace("{{NomeDoMetodoObterTodos}}", nomeDoMetodoObterTodos); var nomeArquivo = $"I{param.NomeDaClasse}AppService.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoApplication, @"IServices"); }
// o prefixo informa: Alterar, Alterada, Excluido, Excluida; public static void CommandHandler(Parametros param, string prefixo1, string prefixo2, string prefixo3, string sufixo1, string sufixo2, string sufixo3) { // GERAR CommandHandler (aggregate root); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathCommandHandlerTemplate, @"CommandHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "CommandHandler.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"CommandHandlers\"); // GERAR CommandHandler; string classeLower = Util.PrimeiroCaracterLowerCase(param.NomeDaClasse); var listaDeAtributosParaConstrutorObj = DadosDaClasse.ListaDeAtributosParaConstrutor(param, classeLower, true); var listaDeAtributosParaConstrutorMessage = DadosDaClasse.ListaDeAtributosParaConstrutor(param, "message", true); string pfx1 = prefixo1 + param.NomeDaClasse; string pfx2 = prefixo2 + param.NomeDaClasse; string pfx3 = prefixo3 + param.NomeDaClasse; string sfx1 = param.NomeDaClasse + sufixo1; string sfx2 = param.NomeDaClasse + sufixo2; string sfx3 = param.NomeDaClasse + sufixo3; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathCommandHandlerTemplate, @"ClasseCommandHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{ClasseLower}}", classeLower); template = template.Replace("{{Prefixo1Classe}}", pfx1); template = template.Replace("{{Prefixo2Classe}}", pfx2); template = template.Replace("{{Prefixo3Classe}}", pfx3); template = template.Replace("{{ClasseSufixo1}}", sfx1); template = template.Replace("{{ClasseSufixo2}}", sfx2); template = template.Replace("{{ClasseSufixo3}}", sfx3); template = template.Replace("{{Prefixo1}}", prefixo1); template = template.Replace("{{Prefixo2}}", prefixo2); template = template.Replace("{{Prefixo3}}", prefixo3); template = template.Replace("{{ListaDeAtributosParaConstrutorMessage}}", listaDeAtributosParaConstrutorMessage); template = template.Replace("{{ListaDeAtributosParaConstrutorObj}}", listaDeAtributosParaConstrutorObj); nomeArquivo = $"{param.NomeDaClasse}CommandHandler.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"CommandHandlers\"); }
public static void AutoMapper(Parametros param, string prefixo1Command, string prefixo2Command, string prefixo3Command) { // GERAR AutoMapper (ViewModelToDomain); var listaConstrutorDaClasseComPrefixo = DadosDaClasse.ListaDeAtributosParaConstrutor(param, "c", false); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathApplicationAutoMapperTemplate, @"ViewModelToDomain.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{Prefixo1Classe}}", prefixo1Command + param.NomeDaClasse); template = template.Replace("{{Prefixo2Classe}}", prefixo2Command + param.NomeDaClasse); template = template.Replace("{{Prefixo3Classe}}", prefixo3Command + param.NomeDaClasse); template = template.Replace("{{ConstrutorDaClasseComPrefixo}}", listaConstrutorDaClasseComPrefixo); var nomeArquivo = $"ViewModelToDomain{param.NomeDaClasse}.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoApplication, @"AutoMapper\"); // GERAR AutoMapper (DomainToViewModel); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathApplicationAutoMapperTemplate, @"DomainToViewModel.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); nomeArquivo = $"DomainToViewModel{param.NomeDaClasse}.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoApplication, @"AutoMapper\"); }
public static void Validation(Parametros param, string prefixo1, string prefixo2, string prefixo3) { // GERAR ClasseValidation; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathValidationTemplate, @"ClasseValidation.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); StringBuilder sbGeral = new StringBuilder(); foreach (var item in param.ListaDeAtributos) { StringBuilder sb = new StringBuilder(); sb.AppendLine($" protected void Validar{item.Nome}() "); sb.AppendLine(" { "); sb.AppendLine($" RuleFor(c => c.{item.Nome}) "); sb.AppendLine(" .NotEmpty() "); sb.AppendLine(" .NotNull() "); sb.AppendLine($" .WithMessage(\"{item.Nome} deve ser informado(a)\"); "); sb.AppendLine(" } "); sb.AppendLine(" "); sbGeral.AppendLine(sb.ToString()); } template = template.Replace("{{Validacoes}}", sbGeral.ToString()); var nomeArquivo = $"{param.NomeDaClasse}Validation.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Validations\"); // GERAR ClasseCommandValidation; StringBuilder sbMetodos = new StringBuilder(); foreach (var item in param.ListaDeAtributos) { sbMetodos.AppendLine($" Validar{item.Nome}(); "); } // Gerar Para o Prefixo1; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathValidationTemplate, @"ClasseCommandValidation.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{PrefixoClasse}}", prefixo1); template = template.Replace("{{MetodosValidacao}}", sbMetodos.ToString()); nomeArquivo = $"{prefixo1}{param.NomeDaClasse}CommandValidation.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Validations\"); // Gerar Para o Prefixo2; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathValidationTemplate, @"ClasseCommandValidation.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{PrefixoClasse}}", prefixo2); template = template.Replace("{{MetodosValidacao}}", sbMetodos.ToString()); nomeArquivo = $"{prefixo2}{param.NomeDaClasse}CommandValidation.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Validations\"); // Gerar Para o Prefixo3; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathValidationTemplate, @"ClasseCommandValidation.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{PrefixoClasse}}", prefixo3); template = template.Replace("{{MetodosValidacao}}", sbMetodos.ToString()); nomeArquivo = $"{prefixo3}{param.NomeDaClasse}CommandValidation.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Validations\"); }