added alter queryable service.
This commit is contained in:
@@ -6,6 +6,15 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Demo.DynamicQueries
|
||||
{
|
||||
public class SearchContactParamsService : IAlterQueryableService<Contact, Contact, SearchContactParams>
|
||||
{
|
||||
public Task<IQueryable<Contact>> AlterQueryableAsync(IQueryable<Contact> query, IDynamicQueryParams<SearchContactParams> dynamicQuery, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var safe = dynamicQuery.GetParams()?.SearchDisplayName;
|
||||
return Task.FromResult(query.Where(t => t.DisplayName.Contains(safe)));
|
||||
}
|
||||
}
|
||||
|
||||
public class ContactQueryableProvider : IQueryableProvider<Contact>
|
||||
{
|
||||
public Task<IQueryable<Contact>> GetQueryableAsync(object query, CancellationToken cancelllationToken = default)
|
||||
|
||||
+2
-1
@@ -63,7 +63,8 @@ namespace Demo
|
||||
{
|
||||
services.AddTransient<IQueryableProvider<Contact>, ContactQueryableProvider>();
|
||||
services.AddDynamicQuery<Contact>();
|
||||
services.AddDynamicQueryWithParams<Contact, SearchContactParams>(name: "SearchContacts");
|
||||
services.AddDynamicQueryWithParams<Contact, SearchContactParams>(name: "SearchContacts")
|
||||
.AddAlterQueryableWithParams<Contact, SearchContactParams, SearchContactParamsService>();
|
||||
}
|
||||
|
||||
private void AddCommands(IServiceCollection services)
|
||||
|
||||
Reference in New Issue
Block a user