Exemplo n.º 1
0
        public static IQuerierBuilder AddRequestHandlers(this IQuerierBuilder builder, params Assembly[] assemblies)
        {
            foreach (var assembly in assemblies)
            {
                builder.AddRequestHandlers(assembly);
            }

            return(builder);
        }
Exemplo n.º 2
0
        public static IQuerierBuilder AddAsyncIdentityQueries(this IQuerierBuilder builder, params Assembly[] assemblies)
        {
            foreach (var assembly in assemblies)
            {
                builder.AddAsyncIdentityQueries(assembly);
            }

            return(builder);
        }
Exemplo n.º 3
0
 public static IQuerierBuilder AddActionResults(this IQuerierBuilder builder)
 {
     builder.Services.AddScoped <ActionResultSource>();
     builder.Services.AddScoped <IForbidResultHandler, ForbidActionResultHandler>();
     builder.Services.AddScoped <IConflictResultHandler, ConflictActionResultHandler>();
     builder.Services.AddScoped <INotFoundResultHandler, NotFoundActionResultHandler>();
     builder.Services.AddScoped <IValueResultHandler, ValueActionResultHandler>();
     return(builder);
 }
Exemplo n.º 4
0
        public static IQuerierBuilder AddAsyncIdentityQueries(this IQuerierBuilder builder, Assembly assembly)
        {
            foreach (var requestType in assembly.GetTypes())
            {
                if (requestType.TryGetAsyncIdentityQueryTypeInfo(out var t))
                {
                    var requestHandlerType = typeof(AsyncIdentityQueryAsyncRequestHandler <, , ,>)
                                             .MakeGenericType(t.RequestType, t.SourceType, t.IdentityType, t.ResultType);

                    builder.AddAsyncRequestHandler(t.RequestType, requestHandlerType);
                }
            }

            return(builder);
        }
Exemplo n.º 5
0
        public static IQuerierBuilder AddRequestHandlers(this IQuerierBuilder builder, Assembly assembly)
        {
            foreach (var handlerType in assembly.GetExportedTypes())
            {
                if (handlerType.TryGetAsyncRequestHandler(out var asyncRequestType))
                {
                    builder.AddAsyncRequestHandler(asyncRequestType, handlerType);
                }

                if (handlerType.TryGetRequestHandler(out var requestType))
                {
                    builder.AddRequestHandler(requestType, handlerType);
                }
            }

            return(builder);
        }
Exemplo n.º 6
0
 public static IQuerierBuilder AddAsyncRequestHandler(this IQuerierBuilder builder, Type requestType, Type handlerType)
 {
     builder.Services.AddScoped(typeof(IAsyncRequestHandler <>).MakeGenericType(requestType), handlerType);
     builder.Services.AddScoped(typeof(IAsyncRequestHandlerInvoker), typeof(AsyncRequestHandlerInvoker <>).MakeGenericType(requestType));
     return(builder);
 }
Exemplo n.º 7
0
 public static IQuerierBuilder AddAsyncRequestHandler <TRequest, TRequestHandler>(this IQuerierBuilder builder)
     where TRequest : IAsyncRequest
     where TRequestHandler : IAsyncRequestHandler <TRequest>
 {
     return(builder.AddAsyncRequestHandler(typeof(TRequest), typeof(TRequestHandler)));
 }
Exemplo n.º 8
0
 public static IQuerierBuilder AddAsyncQueryExecutor(this IQuerierBuilder builder, Type implementationType)
 {
     builder.Services.AddScoped(typeof(IAsyncQueryExecutor), implementationType);
     return(builder);
 }
Exemplo n.º 9
0
 public static IQuerierBuilder AddAsyncQueryExecutor <TImplementation>(this IQuerierBuilder builder)
     where TImplementation : IAsyncQueryExecutor
 {
     return(builder.AddAsyncQueryExecutor(typeof(TImplementation)));
 }