Skip to content

Commit 078e190

Browse files
committed
Use Json.NET to serialize triggers before create/update
* RestSharp does not appear to be able to serialize a dictionary.
1 parent ee9caa3 commit 078e190

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

IntegrationEngine.Client/IJsonConvert.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace IntegrationEngine.Client
55
public interface IJsonConvert
66
{
77
T DeserializeObject<T>(string value);
8+
string SerializeObject(object value);
89
}
910
}
1011

IntegrationEngine.Client/InEngineClient.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ public TItem Get<TItem>(string id) where TItem : class, IHasStringId
8080
public TItem Create<TItem>(TItem item)
8181
{
8282
var request = new RestRequest(typeof(TItem).Name, Method.POST);
83-
request.AddObject(item);
83+
var json = JsonConvert.SerializeObject(item);
84+
request.AddParameter("text/json", json, ParameterType.RequestBody);
8485
var result = RestClient.Execute(request);
8586
return JsonConvert.DeserializeObject<TItem>(result.Content);
8687
}
@@ -89,7 +90,8 @@ public TItem Update<TItem>(TItem item) where TItem : class, IHasStringId
8990
{
9091
var request = new RestRequest(typeof(TItem).Name + "/{id}", Method.PUT);
9192
request.AddUrlSegment("id", item.Id);
92-
request.AddObject(item);
93+
var json = JsonConvert.SerializeObject(item);
94+
request.AddParameter("text/json", json, ParameterType.RequestBody);
9395
var result = RestClient.Execute(request);
9496
return JsonConvert.DeserializeObject<TItem>(result.Content);
9597
}

IntegrationEngine.Client/JsonConvertAdapter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ public virtual T DeserializeObject<T>(string value)
99
{
1010
return JsonConvert.DeserializeObject<T>(value);
1111
}
12+
13+
public virtual string SerializeObject(object value)
14+
{
15+
return JsonConvert.SerializeObject(value);
16+
}
1217
}
1318
}
1419

IntegrationEngine.ConsoleHost/IntegrationEngine.ConsoleHost.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@
9595
</ItemGroup>
9696
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
9797
<ItemGroup>
98+
<ProjectReference Include="..\IntegrationEngine.Client\IntegrationEngine.Client.csproj">
99+
<Project>{f3fcb706-f0dd-46c1-b121-785757fae9b9}</Project>
100+
<Name>IntegrationEngine.Client</Name>
101+
</ProjectReference>
98102
<ProjectReference Include="..\IntegrationEngine.Core\IntegrationEngine.Core.csproj">
99103
<Project>{3F3794D7-4078-4D26-954C-7864173EDD86}</Project>
100104
<Name>IntegrationEngine.Core</Name>

0 commit comments

Comments
 (0)