public static void GerarProjeto(Parametros param, string prefixo1, string prefixo2, string prefixo3, string sufixo1, string sufixo2, string sufixo3) { // GERAR RegisterServices; 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; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInfraCrossCuttingIoCTemplate, @"RegisterServices.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{ClasseUpper}}", param.NomeDaClasse.ToUpper()); 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); var nomeArquivo = "RegisterServices.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIoc); // GERAR CROSSCUTTING IOC project; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInfraCrossCuttingIoCTemplate, @"CrossCuttingIoCCSPROJ.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = $"{param.NomeDoSistema}.Infra.CrossCutting.IoC.csproj"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIoc); }
public static void Interfaces(Parametros param, string nomeDoMetodoObterTodos) { // GERAR IRepository; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInterfaceTemplate, @"IRepository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(true, template, "IRepository.cs", param.EnderecoDoProjetoDomain, @"Interfaces\"); // GERAR IUnitOfWork; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInterfaceTemplate, @"IUnitOfWork.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(true, template, "IUnitOfWork.cs", param.EnderecoDoProjetoDomain, @"Interfaces\"); // GERAR IClasseRepository; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInterfaceTemplate, @"IClasseRepository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{NomeDoMetodoObterTodos}}", nomeDoMetodoObterTodos); var atributo = param.ListaDeAtributos.Count > 0 ? param.ListaDeAtributos[0] : null; if (atributo != null) { string primeiroAtributoComTipo = $"{atributo.Tipo} {atributo.Nome.ToLower()}"; template = template.Replace("{{PrimeiroAtributoComTipo}}", primeiroAtributoComTipo); } string nomeArquivo = $"I{param.NomeDaClasse}Repository.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Interfaces\"); // GERAR IUser; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInterfaceTemplate, @"IUser.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = $"IUser.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoDomain, @"Interfaces\"); }
public static void Data(Parametros param) { // GERAR ApplicationDbContext; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityDataTemplate, @"ApplicationDbContext.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "ApplicationDbContext.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Data\"); }
public static void GerarProjeto(Parametros param) { // GERAR DOMAIN PROJECT; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInfraDataProjectTemplate, @"Infra.Data.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = $"{param.NomeDoSistema}.Infra.Data.csproj"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraData); }
public static void UoW(Parametros param) { // GERAR Repository (Generico); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathUoWTemplate, @"UnitOfWork.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "UnitOfWork.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"UoW\"); }
public static void Mappings(Parametros param) { // GERAR Mappings; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathMappingsTemplate, @"StoredEventMap.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "StoredEventMap.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Mappings\"); }
public static void EventSourcing(Parametros param) { // GERAR EventSourcing; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathEventSourcingTemplate, @"SqlEventStore.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "SqlEventStore.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"EventSourcing\"); }
public static void Models(Parametros param) { DadosDaClasse.CriarConstrutor(param); DadosDaClasse.CriarAtributos(param, "private"); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathModelsTemplate, @"Model.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{Atributos}}", param.Atributos); template = template.Replace("{{ConstrutorDaClasse}}", param.Construtor); GravarResultado.Gravar(false, template, param.NomeDaClasse + ".cs", param.EnderecoDoProjetoDomain, @"Models\"); }
public static void Extensions(Parametros param) { // GERAR ClaimsExtensions; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityExtensionsTemplate, @"ClaimsExtensions.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "ClaimsExtensions.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Extensions\"); // GERAR EmailSenderExtensions; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityExtensionsTemplate, @"EmailSenderExtensions.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "EmailSenderExtensions.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Extensions\"); }
public static void Authorization(Parametros param) { // GERAR ClaimRequirement; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityAuthorizationTemplate, @"ClaimRequirement.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "ClaimRequirement.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Authorization\"); // GERAR ClaimsRequirementHandler; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityAuthorizationTemplate, @"ClaimsRequirementHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "ClaimsRequirementHandler.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Authorization\"); }
public static void GerarProjeto(Parametros param) { // GERAR in memory bus; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInfraCrossCuttingBusTemplate, @"InMemoryBus.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "InMemoryBus.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingBus); // GERAR CROSSCUTTING project; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathInfraCrossCuttingBusTemplate, @"CrossCuttingBusCSPROJ.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = $"{param.NomeDoSistema}.Infra.CrossCutting.Bus.csproj"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingBus); }
public static void Models(Parametros param) { // GERAR ApplicationUsers; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityModelsTemplate, @"ApplicationUser.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "ApplicationUser.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Models\"); // GERAR AspNetUsers; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityModelsTemplate, @"AspNetUser.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "AspNetUser.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Models\"); }
public static void Context(Parametros param) { // GERAR EventStoreSQL; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathContextTemplate, @"EventStoreSQLContext.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "EventStoreSQLContext.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Context\"); // GERAR Context; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathContextTemplate, @"Context.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); nomeArquivo = $"{param.NomeDoSistema}Context.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Context\"); }
public static void Repositories(Parametros param, string nomeDoMetodoObterTodos) { // GERAR Repository (Generico); string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathRepositoriesTemplate, @"Repository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "Repository.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Repositories\"); // GERAR ClasseRepository; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathRepositoriesTemplate, @"ClasseRepository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); template = template.Replace("{{Classe}}", param.NomeDaClasse); template = template.Replace("{{NomeDoMetodoObterTodos}}", nomeDoMetodoObterTodos); var atributo = param.ListaDeAtributos.Count > 0 ? param.ListaDeAtributos[0] : null; if (atributo != null) { string primeiroAtributoComTipo = $"{atributo.Tipo} {atributo.Nome.ToLower()}"; template = template.Replace("{{PrimeiroAtributoComTipo}}", primeiroAtributoComTipo); template = template.Replace("{{PrimeiroAtributo}}", atributo.Nome); template = template.Replace("{{PrimeiroAtributoLowerCase}}", atributo.Nome.ToLower()); } nomeArquivo = $"{param.NomeDaClasse}Repository.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Repositories\"); // GERAR EventStoreSQLRepository; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathRepositoriesTemplate, @"EventSourcing\EventStoreSQLRepository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "EventStoreSQLRepository.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Repositories\EventSourcing\"); // GERAR IEventStoreRepository; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathRepositoriesTemplate, @"EventSourcing\IEventStoreRepository.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "IEventStoreRepository.cs"; GravarResultado.Gravar(true, template, nomeArquivo, param.EnderecoDoProjetoInfraData, @"Repositories\EventSourcing\"); }
public static void Services(Parametros param) { // GERAR IEmailSender; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityServiceTemplate, @"IEmaiSender.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); var nomeArquivo = "IEmailSender.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Services\"); // GERAR ISMSSender; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityServiceTemplate, @"ISmsSender.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "ISmsSender.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Services\"); // GERAR MessageServices; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathIdentityServiceTemplate, @"MessageService.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); nomeArquivo = "MessageServices.cs"; GravarResultado.Gravar(false, template, nomeArquivo, param.EnderecoDoProjetoInfraCrossCutingIdentity, @"Services\"); }
public static void DomainCore(Parametros param) { // CRIAR A PASTA BUS e seus itens; string template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Bus.IMediatorHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "IMediatorHandler.cs", param.EnderecoDoProjetoDomainCore, @"Bus\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Bus.HandlerResult.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "HandlerResult.cs", param.EnderecoDoProjetoDomainCore, @"Bus\"); // CRIAR A PASTA COMMANDS e seus itens; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Commands.Command.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "Command.cs", param.EnderecoDoProjetoDomainCore, @"Commands\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Commands.CommandResponse.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "CommandResponse.cs", param.EnderecoDoProjetoDomainCore, @"Commands\"); // CRIAR A PASTA EVENTS e seus itens; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Events.Event.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "Event.cs", param.EnderecoDoProjetoDomainCore, @"Events\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Events.IEventStore.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "IEventStore.cs", param.EnderecoDoProjetoDomainCore, @"Events\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Events.IHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "IHandler.cs", param.EnderecoDoProjetoDomainCore, @"Events\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Events.Message.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "Message.cs", param.EnderecoDoProjetoDomainCore, @"Events\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Events.StoredEvent.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "StoredEvent.cs", param.EnderecoDoProjetoDomainCore, @"Events\"); // CRIAR A PASTA MODELS e seus itens; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Models.Entity.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "Entity.cs", param.EnderecoDoProjetoDomainCore, @"Models\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Models.ValueObject.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "ValueObject.cs", param.EnderecoDoProjetoDomainCore, @"Models\"); // CRIAR A PASTA NOTIFICATIONS e seus itens; template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Notifications.DomainNotification.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "DomainNotification.cs", param.EnderecoDoProjetoDomainCore, @"Notifications\"); template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Notifications.DomainNotificationHandler.txt"); template = template.Replace("{{Sistema}}", param.NomeDoSistema); GravarResultado.Gravar(false, template, "DomainNotificationHandler.cs", param.EnderecoDoProjetoDomainCore, @"Notifications\"); // CRIAR O PROJETO DOMAIN.CORE template = LerTemplate.Ler(param.EnderecoDaPastaPadraoDoProgramaGerador, pathDomainCoreBusTemplate, @"Domain.Core.csproj.txt"); GravarResultado.Gravar(false, template, $"{param.NomeDoSistema}.Domain.Core.csproj", param.EnderecoDoProjetoDomainCore); }