public static IQuerierBuilder AddRequestHandlers(this IQuerierBuilder builder, params Assembly[] assemblies) { foreach (var assembly in assemblies) { builder.AddRequestHandlers(assembly); } return(builder); }
public static IQuerierBuilder AddAsyncIdentityQueries(this IQuerierBuilder builder, params Assembly[] assemblies) { foreach (var assembly in assemblies) { builder.AddAsyncIdentityQueries(assembly); } return(builder); }
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); }
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); }
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); }
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); }
public static IQuerierBuilder AddAsyncRequestHandler <TRequest, TRequestHandler>(this IQuerierBuilder builder) where TRequest : IAsyncRequest where TRequestHandler : IAsyncRequestHandler <TRequest> { return(builder.AddAsyncRequestHandler(typeof(TRequest), typeof(TRequestHandler))); }
public static IQuerierBuilder AddAsyncQueryExecutor(this IQuerierBuilder builder, Type implementationType) { builder.Services.AddScoped(typeof(IAsyncQueryExecutor), implementationType); return(builder); }
public static IQuerierBuilder AddAsyncQueryExecutor <TImplementation>(this IQuerierBuilder builder) where TImplementation : IAsyncQueryExecutor { return(builder.AddAsyncQueryExecutor(typeof(TImplementation))); }