From d80e9b9c3faf321bb1213946a4e3e75a7e9d5f7f Mon Sep 17 00:00:00 2001 From: Tim Burrows Date: Sun, 27 Jun 2021 14:12:09 +1200 Subject: [PATCH 1/2] Remove converter value mapping case insensitivity --- CryptoExchange.Net/Converters/BaseConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CryptoExchange.Net/Converters/BaseConverter.cs b/CryptoExchange.Net/Converters/BaseConverter.cs index 14767b7..af5a386 100644 --- a/CryptoExchange.Net/Converters/BaseConverter.cs +++ b/CryptoExchange.Net/Converters/BaseConverter.cs @@ -71,7 +71,7 @@ namespace CryptoExchange.Net.Converters private bool GetValue(string value, out T result) { - var mapping = Mapping.FirstOrDefault(kv => kv.Value.Equals(value, StringComparison.InvariantCultureIgnoreCase)); + var mapping = Mapping.FirstOrDefault(kv => kv.Value.Equals(value)); if (!mapping.Equals(default(KeyValuePair))) { result = mapping.Key; From 4e5c55141378c8cf5fd07c74fb3d9c3d2de463b8 Mon Sep 17 00:00:00 2001 From: Tim Burrows Date: Sun, 4 Jul 2021 18:05:23 +1200 Subject: [PATCH 2/2] Specific case first, fallback to insensitive --- CryptoExchange.Net/Converters/BaseConverter.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CryptoExchange.Net/Converters/BaseConverter.cs b/CryptoExchange.Net/Converters/BaseConverter.cs index af5a386..02928a7 100644 --- a/CryptoExchange.Net/Converters/BaseConverter.cs +++ b/CryptoExchange.Net/Converters/BaseConverter.cs @@ -71,7 +71,11 @@ namespace CryptoExchange.Net.Converters private bool GetValue(string value, out T result) { - var mapping = Mapping.FirstOrDefault(kv => kv.Value.Equals(value)); + //check for exact match first, then if not found fallback to a case insensitive match + var mapping = Mapping.FirstOrDefault(kv => kv.Value.Equals(value, StringComparison.InvariantCulture)); + if(mapping.Equals(default(KeyValuePair))) + mapping = Mapping.FirstOrDefault(kv => kv.Value.Equals(value, StringComparison.InvariantCultureIgnoreCase)); + if (!mapping.Equals(default(KeyValuePair))) { result = mapping.Key;