From 42faf6a5b5b617d12b3bd2bc04314334146b3f6d Mon Sep 17 00:00:00 2001 From: AlejandroP Date: Thu, 15 Apr 2021 15:52:45 -0300 Subject: [PATCH] Remove order of properties in serialized JSON. --- .../GxClasses/Services/GxRestWrapper.cs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/dotnet/src/dotnetframework/GxClasses/Services/GxRestWrapper.cs b/dotnet/src/dotnetframework/GxClasses/Services/GxRestWrapper.cs index c39040d25..8501c8354 100644 --- a/dotnet/src/dotnetframework/GxClasses/Services/GxRestWrapper.cs +++ b/dotnet/src/dotnetframework/GxClasses/Services/GxRestWrapper.cs @@ -40,14 +40,6 @@ internal static class Synchronizer internal const string SYNCHRONIZER_INFO = "gxTpr_Synchronizer"; } - public class OrderedContractResolver : Newtonsoft.Json.Serialization.DefaultContractResolver - { - protected override System.Collections.Generic.IList CreateProperties(System.Type type, Newtonsoft.Json.MemberSerialization memberSerialization) - { - return base.CreateProperties(type, memberSerialization).OrderBy(p => p.PropertyName).ToList(); - } - } - #if NETCORE public class GxRestWrapper #else @@ -138,7 +130,7 @@ public virtual Task MethodBodyExecute(object key) setWorkerStatus(_procWorker); _procWorker.cleanup(); RestProcess(outputParameters); - return Serialize(outputParameters, wrapped, _procWorker.IsApiObject); + return Serialize(outputParameters, wrapped); } catch (Exception e) { @@ -286,7 +278,7 @@ public virtual Task MethodUrlExecute(object key) wrapped = true; } } - return Serialize(outputParameters, wrapped, _procWorker.IsApiObject); + return Serialize(outputParameters, wrapped); } catch (Exception e) { @@ -616,12 +608,10 @@ public Task WebException(Exception ex) GXLogging.Error(log, "WebException", ex); return SetError("500", ex.Message); } - protected Task Serialize(Dictionary parameters, bool wrapped, bool ordered) + protected Task Serialize(Dictionary parameters, bool wrapped) { var serializer = new Newtonsoft.Json.JsonSerializer(); - if (ordered) - serializer.ContractResolver = new OrderedContractResolver(); serializer.Converters.Add(new SDTConverter()); TextWriter ms = new StringWriter(); if (parameters.Count == 1 && !wrapped) //In Dataproviders, with one parameter BodyStyle is WebMessageBodyStyle.Bare, Both requests and responses are not wrapped.