diff --git a/src/Essensoft.AspNetCore.Payment.QPay/Parser/QPayListPropertyParser.cs b/src/Essensoft.AspNetCore.Payment.QPay/Parser/QPayListPropertyParser.cs index fc868f9dd..0a8a91eb1 100644 --- a/src/Essensoft.AspNetCore.Payment.QPay/Parser/QPayListPropertyParser.cs +++ b/src/Essensoft.AspNetCore.Payment.QPay/Parser/QPayListPropertyParser.cs @@ -22,7 +22,11 @@ public class QPayListPropertyParser foreach (var field in properties) { var name = $"{GetKeyName(field)}_{i}"; - field.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), field.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + field.SetValue(item, Convert.ChangeType(value, field.PropertyType)); + } } list.Add(item); } @@ -54,7 +58,11 @@ public class QPayListPropertyParser foreach (var subfield in subProperties) { var name = $"{GetKeyName(subfield)}_{i}_{j}"; - subfield.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), subfield.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + subfield.SetValue(item, Convert.ChangeType(value, subfield.PropertyType)); + } } sublist.Add(subItem); } @@ -63,7 +71,11 @@ public class QPayListPropertyParser else { var name = $"{GetKeyName(field)}_{i}"; - field.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), field.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + field.SetValue(item, Convert.ChangeType(value, field.PropertyType)); + } } } list.Add(item); diff --git a/src/Essensoft.AspNetCore.Payment.WeChatPay/Parser/WeChatPayListPropertyParser.cs b/src/Essensoft.AspNetCore.Payment.WeChatPay/Parser/WeChatPayListPropertyParser.cs index 0f4687c68..67931534b 100644 --- a/src/Essensoft.AspNetCore.Payment.WeChatPay/Parser/WeChatPayListPropertyParser.cs +++ b/src/Essensoft.AspNetCore.Payment.WeChatPay/Parser/WeChatPayListPropertyParser.cs @@ -22,7 +22,11 @@ public class WeChatPayListPropertyParser foreach (var field in properties) { var name = $"{GetKeyName(field)}_{i}"; - field.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), field.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + field.SetValue(item, Convert.ChangeType(value, field.PropertyType)); + } } list.Add(item); } @@ -54,7 +58,11 @@ public class WeChatPayListPropertyParser foreach (var subfield in subProperties) { var name = $"{GetKeyName(subfield)}_{i}_{j}"; - subfield.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), subfield.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + subfield.SetValue(item, Convert.ChangeType(value, subfield.PropertyType)); + } } sublist.Add(subItem); } @@ -63,7 +71,11 @@ public class WeChatPayListPropertyParser else { var name = $"{GetKeyName(field)}_{i}"; - field.SetValue(item, Convert.ChangeType(dictionary.GetValue(name), field.PropertyType)); + var value = dictionary.GetValue(name); + if (!string.IsNullOrEmpty(value)) + { + field.SetValue(item, Convert.ChangeType(value, field.PropertyType)); + } } } list.Add(item);