private string[] AddEventTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, Dictionary <string, string> result, AppNode cmdNode) { if (cmdNode.Name.StartsWith("upsert", StringComparison.OrdinalIgnoreCase)) { var cmdBase = cmdNode.Name.Substring("upsert".Length); var eventCreated = GetEventName("Create" + cmdBase); var createdPath = $"{cmdNode.GetFullPath()}/{eventCreated}.cs"; var createdTemplate = GetEventTemplate(templates, cmdNode, eventCreated); result[createdPath] = createdTemplate.GetReplacedContent(); var eventUpdated = GetEventName("Update" + cmdBase); var updatedPath = $"{cmdNode.GetFullPath()}/{eventUpdated}.cs"; var updatedTemplate = GetEventTemplate(templates, cmdNode, eventUpdated); result[updatedPath] = updatedTemplate.GetReplacedContent(); return(new[] { createdPath, updatedPath }); } else { var eventName = GetEventName(cmdNode.Name); var path = $"{cmdNode.GetFullPath()}/{eventName}.cs"; var template = GetEventTemplate(templates, cmdNode, eventName); result[path] = template.GetReplacedContent(); return(new[] { path }); } }
private ResourceTemplate GetQueryTestTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.UnitTestQuery]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var persistNsPlaceholder = $"{_config.Namespace}.Persistence"; var queryNsPlaceholder = $"{appNsPlaceholder}.{queryNode.GetFullPath(".")}"; var namespacePlaceholder = $"{appNsPlaceholder}.UnitTests.{queryNode.Parent.GetFullPath(".")}"; var vmPlaceholder = $"{GetQueryBaseName(queryNode, trimGet: true)}Vm"; template.SetParameter(TemplateParameterType.QueryNsPlaceholder, queryNsPlaceholder); template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.PersistenceNsPlaceholder, persistNsPlaceholder); template.SetParameter(TemplateParameterType.QueryPlaceholder, queryNode.Name);// special case here without "Query" suffix template.SetParameter(TemplateParameterType.FixturePlaceholder, $"{queryNode.Name}QueryTests"); template.SetParameter(TemplateParameterType.HandlerPlaceholder, $"{queryNode.Name}QueryHandler"); template.SetParameter(TemplateParameterType.DbContextPlaceholder, GetQueryTestDbContext(_config.DbContext)); template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder); return(template); }
private ResourceTemplate GetQueryIntegrationTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.IntegrationTestQuery]; template.ResetParameters(); var urlPlaceholder = GetQueryApiUrl(queryNode); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var webNsPlaceholder = $"{_config.Namespace}.{_config.UiSuffix}"; var queryNsPlaceholder = $"{appNsPlaceholder}.{queryNode.GetFullPath(".")}"; var queriesNsPlaceholder = $"{appNsPlaceholder}.{queryNode.Parent.GetFullPath(".")}"; var namespacePlaceholder = $"{webNsPlaceholder}.IntegrationTests.Controllers.{queryNode.GetDomainName()}"; var vmPlaceholder = $"{GetQueryBaseName(queryNode, trimGet: true)}Vm"; template.SetParameter(TemplateParameterType.QueryNsPlaceholder, queryNsPlaceholder); template.SetParameter(TemplateParameterType.QueriesNsPlaceholder, queriesNsPlaceholder); template.SetParameter(TemplateParameterType.WebNsPlaceholder, webNsPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.QueryPlaceholder, queryNode.Name);// special case here without "Query" suffix template.SetParameter(TemplateParameterType.FixturePlaceholder, $"{queryNode.Name}QueryTests"); template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder); template.SetParameter(TemplateParameterType.UrlPlaceholder, urlPlaceholder); return(template); }
private string AddCommandHandlerTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, Dictionary <string, string> result, AppNode cmdNode) { var path = $"{cmdNode.GetFullPath()}/{cmdNode.Name}CommandHandler.cs"; var template = GetCommandHandlerTemplate(templates, cmdNode); result[path] = template.GetReplacedContent(); return(path); }
private string AddDetailHandlerTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, Dictionary <string, string> result, AppNode queryNode) { var path = $"{queryNode.GetFullPath()}/{queryNode.Name}QueryHandler.cs"; var template = GetDetailHandlerTemplate(templates, queryNode); result[path] = template.GetReplacedContent(); return(path); }
private string AddDetailVmTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, Dictionary <string, string> result, AppNode queryNode) { var vm = GetQueryBaseName(queryNode, trimGet: true); var path = $"{queryNode.GetFullPath()}/{vm}Vm.cs"; var template = GetDetailVmTemplate(templates, queryNode); result[path] = template.GetReplacedContent(); return(path); }
private string AddDtoTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, Dictionary <string, string> result, AppNode queryNode) { var dto = GetDtoPlaceholder(queryNode); var path = $"{queryNode.GetFullPath()}/{dto}.cs"; var template = GetDtoTemplate(templates, queryNode); result[path] = template.GetReplacedContent(); return(path); }
private ResourceTemplate GetCommandTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode cmdNode) { var template = templates[ResourceTemplateType.AppCommand]; template.ResetParameters(); var namespacePlaceholder = $"{_config.Namespace}.{_config.AppSuffix}.{cmdNode.GetFullPath(".")}"; template.SetParameter(TemplateParameterType.CommandPlaceholder, $"{cmdNode.Name}Command"); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); return(template); }
private ResourceTemplate GetListVmTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.AppListVm]; template.ResetParameters(); var namespacePlaceholder = $"{_config.Namespace}.{_config.AppSuffix}.{queryNode.GetFullPath(".")}"; var dtoPlaceholder = GetDtoPlaceholder(queryNode); var vmPlaceholder = $"{GetQueryBaseName(queryNode, trimGet: true)}Vm"; template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.DtoPlaceholder, dtoPlaceholder); template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder); return(template); }
private ResourceTemplate GetQueryValidatorTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.AppQueryValidator]; template.ResetParameters(); var namespacePlaceholder = $"{_config.Namespace}.{_config.AppSuffix}.{queryNode.GetFullPath(".")}"; var queryPlaceholder = $"{queryNode.Name}Query"; var validatorPlaceholder = $"{queryNode.Name}QueryValidator"; template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.QueryPlaceholder, queryPlaceholder); template.SetParameter(TemplateParameterType.ValidatorPlaceholder, validatorPlaceholder); return(template); }
private ResourceTemplate GetEventTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode cmdNode, string eventPlaceholder) { var template = templates[ResourceTemplateType.AppEvent]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var namespacePlaceholder = $"{appNsPlaceholder}.{cmdNode.GetFullPath(".")}"; var handlerPlaceholder = $"{eventPlaceholder}EventHandler"; template.SetParameter(TemplateParameterType.EventPlaceholder, eventPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.HandlerPlaceholder, handlerPlaceholder); return(template); }
private ResourceTemplate GetDtoTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.AppListDto]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var domainNsPlaceholder = $"{_config.Namespace}.Domain"; var namespacePlaceholder = $"{appNsPlaceholder}.{queryNode.GetFullPath(".")}"; var dtoPlaceholder = GetDtoPlaceholder(queryNode); template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.DomainNsPlaceholder, domainNsPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.DtoPlaceholder, dtoPlaceholder); return(template); }
private ResourceTemplate GetCommandTestTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode cmdNode) { var template = templates[ResourceTemplateType.UnitTestCommand]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var namespacePlaceholder = $"{appNsPlaceholder}.UnitTests.{cmdNode.Parent.GetFullPath(".")}"; var commandNsPlaceholder = $"{appNsPlaceholder}.{cmdNode.GetFullPath(".")}"; template.SetParameter(TemplateParameterType.CommandNsPlaceholder, commandNsPlaceholder); template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.CommandPlaceholder, $"{cmdNode.Name}Command"); template.SetParameter(TemplateParameterType.FixturePlaceholder, $"{cmdNode.Name}CommandTests"); template.SetParameter(TemplateParameterType.HandlerPlaceholder, $"{cmdNode.Name}CommandHandler"); return(template); }
private ResourceTemplate GetCommandHandlerTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode cmdNode) { var template = templates[ResourceTemplateType.AppHandler]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var domainNsPlaceholder = $"{_config.Namespace}.Domain"; var namespacePlaceholder = $"{appNsPlaceholder}.{cmdNode.GetFullPath(".")}"; template.SetParameter(TemplateParameterType.CommandPlaceholder, $"{cmdNode.Name}Command"); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.DomainNsPlaceholder, domainNsPlaceholder); template.SetParameter(TemplateParameterType.DbContextPlaceholder, _config.DbContext); template.SetParameter(TemplateParameterType.EventPlaceholder, GetEventNameOrUpdated(cmdNode.Name)); template.SetParameter(TemplateParameterType.HandlerPlaceholder, $"{cmdNode.Name}CommandHandler"); return(template); }
private ResourceTemplate GetDetailHandlerTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode) { var template = templates[ResourceTemplateType.AppDetailHandler]; template.ResetParameters(); var appNsPlaceholder = $"{_config.Namespace}.{_config.AppSuffix}"; var namespacePlaceholder = $"{appNsPlaceholder}.{queryNode.GetFullPath(".")}"; var queryPlaceholder = $"{queryNode.Name}Query"; var handlerPlaceholder = $"{queryPlaceholder}Handler"; var vmPlaceholder = $"{GetQueryBaseName(queryNode, trimGet: true)}Vm"; template.SetParameter(TemplateParameterType.ApplicationNsPlaceholder, appNsPlaceholder); template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder); template.SetParameter(TemplateParameterType.HandlerPlaceholder, handlerPlaceholder); template.SetParameter(TemplateParameterType.QueryPlaceholder, queryPlaceholder); template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder); template.SetParameter(TemplateParameterType.DbContextPlaceholder, _config.DbContext); return(template); }