Thanks, that example made everything a tremendous amount better except for one thing. The web api is not translating the list of checked filters correctly. The url was getting too big so I needed to change the GET to a POST. I used nearly the exact same code as the ModelBinder, so I don't think that is the problem.
01.
public
class
KendoDataSourceRequest
02.
{
03.
04.
#region Public Properties
05.
06.
public
int
page {
get
;
set
; }
07.
public
int
pageSize {
get
;
set
; }
08.
public
string
aggregates {
get
;
set
; }
09.
public
string
filter {
get
;
set
; }
10.
public
string
group {
get
;
set
; }
11.
public
string
sort {
get
;
set
; }
12.
13.
#endregion
14.
15.
#region Public Methods
16.
17.
/// <summary>
18.
/// Converts the posted request into a kendo datasource request
19.
/// </summary>
20.
/// <returns><see cref="DataSourceRequest"/></returns>
21.
public
DataSourceRequest ToDataSourceRequest()
22.
{
23.
24.
var request =
new
DataSourceRequest();
25.
26.
request.Page = page > 0 ? page : 1;
27.
request.PageSize = pageSize > 0 ? pageSize : 100;
28.
29.
request.Aggregates = GridDescriptorSerializer.Deserialize<AggregateDescriptor>(aggregates);
30.
request.Groups = GridDescriptorSerializer.Deserialize<GroupDescriptor>(group);
31.
request.Sorts = GridDescriptorSerializer.Deserialize<SortDescriptor>(sort);
32.
33.
request.Filters = FilterDescriptorFactory.Create(filter);
34.
return
request;
35.
36.
}
37.
38.
#endregion
39.
40.
}
1.
public
async Task<IHttpActionResult> GetRelationshipSummary([FromBody] KendoDataSourceRequest request, [FromUri] Guid pqmConfigId)
2.
{
3.
4.
var translatedRequest = request.ToDataSourceRequest();
5.
}
What is going on is that the filter string that comes in below isn't getting translated correctly...
measure_key~eq~'AAB16'~or~measure_key~eq~'AAP16'~or~measure_key~eq~'ABA16'~or~measure_key~eq~'ABX16'~or~measure_key~eq~'ADD16'~or~measure_key~eq~'ADV16'~or~measure_key~eq~'AMB16'~or~measure_key~eq~'AMM16'
It seems to get translated into some recursive groups of two type mess... Attached in the screenshot of the filters translated in QuickWatch...
Thanks for your help before... Tony