using PoweredSoft.CQRS.DynamicQuery.Abstractions; using PoweredSoft.DynamicQuery.Core; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace PoweredSoft.CQRS.DynamicQuery { public class DynamicQueryHandler : DynamicQueryHandlerBase, PoweredSoft.CQRS.Abstractions.IQueryHandler, IQueryExecutionResult> where TSource : class where TDestination : class { public DynamicQueryHandler(IQueryHandlerAsync queryHandlerAsync, IEnumerable> queryableProviders) : base(queryHandlerAsync, queryableProviders) { } public Task> HandleAsync(IDynamicQuery query, CancellationToken cancellationToken = default) { return ProcessQueryAsync(query, cancellationToken); } } public class DynamicQueryHandler : DynamicQueryHandlerBase, PoweredSoft.CQRS.Abstractions.IQueryHandler, IQueryExecutionResult> where TSource : class where TDestination : class where TParams : class { public DynamicQueryHandler(IQueryHandlerAsync queryHandlerAsync, IEnumerable> queryableProviders) : base(queryHandlerAsync, queryableProviders) { } public Task> HandleAsync(IDynamicQuery query, CancellationToken cancellationToken = default) { return this.ProcessQueryAsync(query, cancellationToken); } } }