public static void Build(string concern, string operation, GroupByType groupBy) { var responseNameSpace = groupBy switch { GroupByType.Concern => $"{concern}.Responses", GroupByType.Operation => $"Responses.{concern}" }; ClassAssembler .ConfigureHandler(concern, operation, PatternDirectoryType.Commands, groupBy) .ImportNamespaces(new List <NamespaceModel> { new NamespaceModel("MediatR"), new NamespaceModel(responseNameSpace, true) }) .CreateNamespace() .CreateClass(new [] { SyntaxFactory.Token(SyntaxKind.PublicKeyword) }) .WithInheritance(new List <string> { $"IRequest<{concern}{operation}{PatternFileType.Response}>" }) .GenerateHandler() ; } }
public static void Build(string concern, string operation, GroupByType groupBy) { ClassAssembler .ConfigureHandler(concern, operation, PatternDirectoryType.Responses, groupBy) .ImportNamespaces() .CreateNamespace() .CreateClass(new[] { SyntaxFactory.Token(SyntaxKind.PublicKeyword) }) .GenerateHandler() ; }
public static void Build(string concern, string operation, GroupByType groupBy) { ClassAssembler .ConfigureHandler(concern, operation, PatternDirectoryType.Queries, groupBy) .ImportNamespaces(new List <NamespaceModel> { new NamespaceModel("MediatR"), new NamespaceModel($"{NamespaceResolver.Resolve(concern,"Responses",groupBy)}", true), }) .CreateNamespace() .CreateClass(new[] { SyntaxFactory.Token(SyntaxKind.PublicKeyword) }) .WithInheritance(new List <string> { $"IRequest<{concern}{operation}{PatternFileType.Response}>" }) .GenerateHandler() ; }
public static void Build(string concern, string operation, OperationType ot, GroupByType groupBy) { var tInObjectName = ot switch { OperationType.COMMAND => $"{concern}{operation}Command", OperationType.QUERY => $"{concern}{operation}Query" }; var operationTypeNamespace = ot switch { OperationType.COMMAND => NamespaceResolver.Resolve(concern, "Commands", groupBy), OperationType.QUERY => NamespaceResolver.Resolve(concern, "Queries", groupBy) }; ClassAssembler .ConfigureHandler(concern, operation, PatternDirectoryType.Handlers, groupBy) .ImportNamespaces(new List <NamespaceModel> { new NamespaceModel("MediatR"), new NamespaceModel(operationTypeNamespace, true), new NamespaceModel($"{NamespaceResolver.Resolve(concern,"Responses",groupBy)}", true), new NamespaceModel("System.Collections.Generic"), new NamespaceModel("System.Threading"), new NamespaceModel("System.Threading.Tasks") }) .CreateNamespace() .CreateClass(new[] { SyntaxFactory.Token(SyntaxKind.PublicKeyword) }) .WithInheritance(new List <string> { $"IRequestHandler<{tInObjectName},{concern}{operation}Response>" }) .ImplementMediatorHandlerInheritance($"{concern}{operation}Response", tInObjectName) .GenerateHandler() ; } } }