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()
     ;
 }
示例#4
0
        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()
            ;
        }
    }
}