maybe you can rewrite:
Assign Activity
arrCISet = new CultureInfo(){ new CultureInfo(“en-US”), new CultureInfo(“es-ES”)}
(From myRow In dtData.AsEnumerable()
Let ci1 = arrCISet.Where(Function (c1) Double.TryParse(myRow("Balance Amount").ToString.Trim, NumberStyles.Any, c1, nothing)).First()
Let ci2 = arrCISet.Where(Function (c2) Double.TryParse(myRow("Amount").ToString.Trim, NumberStyles.Any, c2, nothing)).First()
Let n1 = Double.Parse(myRow("Balance Amount").toString.Trim, NumberStyle.Any, c1)
Let n2 = Double.Parse(myRow("Amount").toString.Trim, NumberStyle.Any, c2)
Where n1 >= (n2 / 100) * i_intDueAmountThreshold
Select r = myRow).toList
it is one of a few options.
We would recommend adapting if needed with some prechecks…
We would also recommend to let it fail in case of wrong CIs instead of String Manipulations
if also needed then typical handling is to filter out unrecognized rows in advance and route it to a resolution flow