case 4676

This commit is contained in:
2026-10-05 13:53:50 -07:00
parent a5a2949694
commit 3427cd8d87

View File

@@ -843,6 +843,11 @@ namespace Sockeye.DataList
sValue = sValue.Replace(nfi.CurrencyGroupSeparator, ""); sValue = sValue.Replace(nfi.CurrencyGroupSeparator, "");
sValue = sValue.Replace(nfi.CurrencyDecimalSeparator, "."); sValue = sValue.Replace(nfi.CurrencyDecimalSeparator, ".");
} }
//case 4676
// Decimal, Currency (after the existing separator normalisation)
if (!decimal.TryParse(sValue, NumberStyles.Number, CultureInfo.InvariantCulture, out var d))
throw new ArgumentException($"Invalid numeric filter value [{sValue}]");
sValue = d.ToString(CultureInfo.InvariantCulture);
} }
break; break;
case UiFieldDataType.Integer: case UiFieldDataType.Integer:
@@ -852,6 +857,12 @@ namespace Sockeye.DataList
sValue = sValue.Replace(nfi.NumberGroupSeparator, ""); sValue = sValue.Replace(nfi.NumberGroupSeparator, "");
sValue = sValue.Replace(nfi.NumberDecimalSeparator, "."); sValue = sValue.Replace(nfi.NumberDecimalSeparator, ".");
} }
//casse 4676
// Integer, InternalId, Enum, MemorySize, Roles
if (!long.TryParse(sValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out var l))
throw new ArgumentException($"Invalid numeric filter value [{sValue}]");
sValue = l.ToString(CultureInfo.InvariantCulture);
} }
break; break;
case UiFieldDataType.InternalId: case UiFieldDataType.InternalId:
@@ -1152,7 +1163,7 @@ namespace Sockeye.DataList
/// ///
public static string TagFilterToSqlCriteriaHelper(string SqlColumnNameToFilter, List<string> sValue, bool bAny) public static string TagFilterToSqlCriteriaHelper(string SqlColumnNameToFilter, List<string> sValue, bool bAny)
{ {
if(sValue.Count==0) return string.Empty; if (sValue.Count == 0) return string.Empty;
//if it's an OR (any) query then need to build individual terms, if it's not then it's just an all or AND query and can pass through as is //if it's an OR (any) query then need to build individual terms, if it's not then it's just an all or AND query and can pass through as is
if (sValue.Count > 0 && bAny == true) if (sValue.Count > 0 && bAny == true)
{ {