Skip to content

Commit 74e16d8

Browse files
author
David Lebee
committed
Merge branch 'release/fix-serialization-contract'
2 parents 351fef7 + 3a11db6 commit 74e16d8

File tree

3 files changed

+37
-1
lines changed

3 files changed

+37
-1
lines changed

PoweredSoft.DynamicQuery.AspNetCore/Json/DynamicQueryJsonConverter.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
6060
}
6161

6262
var filterObj = ServiceProvider.GetService(isComposite ? typeof(ICompositeFilter) : typeof(ISimpleFilter));
63-
filterObj = jo.ToObject(filterObj.GetType());
63+
var filterType = filterObj.GetType();
64+
filterObj = jo.ToObject(filterType, serializer);
6465
return filterObj;
6566
}
6667

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Microsoft.Extensions.DependencyInjection;
2+
using Newtonsoft.Json;
3+
using Newtonsoft.Json.Converters;
4+
using PoweredSoft.DynamicQuery.AspNetCore.Json;
5+
using PoweredSoft.DynamicQuery.Core;
6+
using System;
7+
using System.Collections.Generic;
8+
using System.Text;
9+
using Xunit;
10+
11+
namespace PoweredSoft.DynamicQuery.Test
12+
{
13+
public class SerializationTests
14+
{
15+
[Fact]
16+
public void QueryCriteria()
17+
{
18+
var json = @"{""page"":1,""pageSize"":20,""filters"":[{""type"":""composite"",""filters"":[{""path"":""title"",""value"":""Qui"",""type"":""StartsWith"",""and"":false}]}]}";
19+
20+
var serviceCollection = new ServiceCollection();
21+
serviceCollection.AddPoweredSoftDynamicQuery();
22+
var serviceProvider = serviceCollection.BuildServiceProvider();
23+
24+
var settings = new JsonSerializerSettings();
25+
settings.Converters.Add(new StringEnumConverter());
26+
settings.Converters.Add(new DynamicQueryJsonConverter(serviceProvider));
27+
28+
var data = JsonConvert.DeserializeObject<IQueryCriteria>(json, settings);
29+
Assert.NotNull(data);
30+
}
31+
32+
33+
}
34+
}

PoweredSoft.DynamicQuery.Test/PoweredSoft.DynamicQuery.Test.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
</ItemGroup>
1818

1919
<ItemGroup>
20+
<ProjectReference Include="..\PoweredSoft.DynamicQuery.AspNetCore\PoweredSoft.DynamicQuery.AspNetCore.csproj" />
2021
<ProjectReference Include="..\PoweredSoft.DynamicQuery\PoweredSoft.DynamicQuery.csproj" />
2122
</ItemGroup>
2223

0 commit comments

Comments
 (0)