diff --git a/CryptoExchange.Net/ExtensionMethods.cs b/CryptoExchange.Net/ExtensionMethods.cs index 3f1df21..ffb150e 100644 --- a/CryptoExchange.Net/ExtensionMethods.cs +++ b/CryptoExchange.Net/ExtensionMethods.cs @@ -31,6 +31,18 @@ namespace CryptoExchange.Net parameters.Add(key, value); } + /// + /// Add a parameter + /// + /// + /// + /// + /// + public static void AddParameter(this Dictionary parameters, string key, string value, JsonConverter converter) + { + parameters.Add(key, JsonConvert.SerializeObject(value, converter)); + } + /// /// Add a parameter /// @@ -42,6 +54,18 @@ namespace CryptoExchange.Net parameters.Add(key, value); } + /// + /// Add a parameter + /// + /// + /// + /// + /// + public static void AddParameter(this Dictionary parameters, string key, object value, JsonConverter converter) + { + parameters.Add(key, JsonConvert.SerializeObject(value, converter)); + } + /// /// Add an optional parameter. Not added if value is null /// @@ -54,6 +78,19 @@ namespace CryptoExchange.Net parameters.Add(key, value); } + /// + /// Add an optional parameter. Not added if value is null + /// + /// + /// + /// + /// + public static void AddOptionalParameter(this Dictionary parameters, string key, object? value, JsonConverter converter) + { + if (value != null) + parameters.Add(key, JsonConvert.SerializeObject(value, converter)); + } + /// /// Add an optional parameter. Not added if value is null /// @@ -66,6 +103,19 @@ namespace CryptoExchange.Net parameters.Add(key, value); } + /// + /// Add an optional parameter. Not added if value is null + /// + /// + /// + /// + /// + public static void AddOptionalParameter(this Dictionary parameters, string key, string? value, JsonConverter converter) + { + if (value != null) + parameters.Add(key, JsonConvert.SerializeObject(value, converter)); + } + /// /// Create a query string of the specified parameters ///