using PoweredSoft.CQRS.DynamicQuery.Abstractions; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace Demo.DynamicQueries { public class SearchContactParamsService : IAlterQueryableService { public Task> AlterQueryableAsync(IQueryable query, IDynamicQueryParams dynamicQuery, CancellationToken cancellationToken = default) { var safe = dynamicQuery.GetParams()?.SearchDisplayName; return Task.FromResult(query.Where(t => t.DisplayName.Contains(safe))); } } }