I beleive its ready now.
This commit is contained in:
parent
10fbe01674
commit
7392c25257
@ -55,6 +55,22 @@ namespace PoweredSoft.DynamicQuery.Test
|
||||
}
|
||||
}
|
||||
|
||||
private class MockQueryConvertGenericInterceptor2 :
|
||||
IQueryConvertInterceptor<Customer, CustomerModel>
|
||||
{
|
||||
public CustomerModel InterceptResultTo(Customer entity)
|
||||
{
|
||||
var customer = entity;
|
||||
var personModel = new CustomerModel
|
||||
{
|
||||
Id = customer.Id,
|
||||
FirstName = customer.FirstName,
|
||||
LastName = customer.LastName
|
||||
};
|
||||
return personModel;
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NonGeneric()
|
||||
{
|
||||
@ -80,5 +96,18 @@ namespace PoweredSoft.DynamicQuery.Test
|
||||
Assert.All(result.Data, t => Assert.IsType<CustomerModel>(t));
|
||||
});
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Generic2()
|
||||
{
|
||||
MockContextFactory.SeedAndTestContextFor("ConvertibleIntereceptorTests_Generic2", TestSeeders.SimpleSeedScenario, ctx =>
|
||||
{
|
||||
var criteria = new QueryCriteria();
|
||||
var queryHandler = new QueryHandler();
|
||||
queryHandler.AddInterceptor(new MockQueryConvertGenericInterceptor2());
|
||||
var result = queryHandler.Execute<Customer, CustomerModel>(ctx.Customers, criteria);
|
||||
Assert.All(result.Data, t => Assert.IsType<CustomerModel>(t));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,8 @@ namespace PoweredSoft.DynamicQuery
|
||||
public List<TRecord> Data { get; set; }
|
||||
|
||||
public bool ShouldSerializeAggregates() => Aggregates != null;
|
||||
|
||||
public bool ShouldSerializeData() => Data != null;
|
||||
}
|
||||
|
||||
// just result
|
||||
@ -44,7 +46,9 @@ namespace PoweredSoft.DynamicQuery
|
||||
{
|
||||
public string GroupPath { get; set; }
|
||||
public object GroupValue { get; set; }
|
||||
public bool HasSubGroups { get; set; }
|
||||
public bool HasSubGroups => SubGroups != null && SubGroups.Count > 1;
|
||||
public List<IGroupQueryResult<TRecord>> SubGroups { get; set; }
|
||||
|
||||
public bool ShouldSerializeSubGroups() => HasSubGroups;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ namespace PoweredSoft.DynamicQuery
|
||||
services.TryAddTransient<IGroup, Group>();
|
||||
services.TryAddTransient<IQueryCriteria, QueryCriteria>();
|
||||
services.TryAddTransient<IQueryHandler, QueryHandler>();
|
||||
//services.TryAddTransient<IQueryHandlerAsync, QueryHandlerAsync>();
|
||||
services.TryAddTransient<IQueryHandlerAsync, QueryHandlerAsync>();
|
||||
return services;
|
||||
}
|
||||
}
|
||||
|
@ -219,4 +219,4 @@ Interceptor | Interface
|
||||
----------------------------------|---------------------------------------------------------------------------------------|-------------------------------------------------------------|------------------------------------------------------------------------------------------------
|
||||
IQueryConvertInterceptor | [interface](../master/PoweredSoft.DynamicQuery.Core/IQueryConvertInterceptor.cs) | [test](../master/PoweredSoft.DynamicQuery.Test/ConvertibleInterceptorTests.cs) | This interceptor allows you to replace the object that is being returned by the query, by another object instance
|
||||
IQueryConvertInterceptor<T, T2> | [interface](../master/PoweredSoft.DynamicQuery.Core/IQueryConvertInterceptor.cs) | [test](../master/PoweredSoft.DynamicQuery.Test/ConvertibleInterceptorTests.cs#L72) | This interceptor allows you to replace the object that is being returned by the query, by another object instance **(restricts the source)**
|
||||
IQueryConvertInterceptor<T, T2> | coming soon | coming soon | This interceptor allows you to replace the object that is being returned by the query, by another object instance **(restricts the source & output)**
|
||||
IQueryConvertInterceptor<T, T2> | [interface](../master/PoweredSoft.DynamicQuery.Core/IQueryConvertInterceptor.cs) | [test](../master/PoweredSoft.DynamicQuery.Test/ConvertibleInterceptorTests.cs#L101) | This interceptor allows you to replace the object that is being returned by the query, by another object instance **(restricts the source & output)**
|
Loading…
Reference in New Issue
Block a user