Преглед изворни кода

Rename LogParseError to ThrowParseError
Modify ParseDecimal to fall back to double.Parse if decimal.Parse fails.

Andrew Klopper пре 8 година
родитељ
комит
81cedc06e4
1 измењених фајлова са 10 додато и 5 уклоњено
  1. 10 5
      MAXClient/Client.cs

+ 10 - 5
MAXClient/Client.cs

@@ -307,7 +307,7 @@ namespace MAX
307 307
             return catalogue;
308 308
         }
309 309
 
310
-        private bool LogParseError(string value, string valueName, string valueType, string fullResponse)
310
+        private void ThrowParseError(string value, string valueName, string valueType, string fullResponse)
311 311
         {
312 312
             _logger.LogError(
313 313
                 "Failed to parse value: valueType={0} valueName={1} value={2} fullResponse={3} {4}",
@@ -325,7 +325,7 @@ namespace MAX
325 325
             bool ret;
326 326
             if (! bool.TryParse(value, out ret))
327 327
             {
328
-                LogParseError(value, valueName, "bool", fullResponse);
328
+                ThrowParseError(value, valueName, "bool", fullResponse);
329 329
             }
330 330
             return ret;
331 331
         }
@@ -335,7 +335,7 @@ namespace MAX
335 335
             DateTime ret;
336 336
             if (!DateTime.TryParse(value, out ret))
337 337
             {
338
-                LogParseError(value, valueName, "DateTime", fullResponse);
338
+                ThrowParseError(value, valueName, "DateTime", fullResponse);
339 339
             }
340 340
             return ret;
341 341
         }
@@ -345,7 +345,12 @@ namespace MAX
345 345
             decimal ret;
346 346
             if (!decimal.TryParse(value, out ret))
347 347
             {
348
-                LogParseError(value, valueName, "decimal", fullResponse);
348
+                double fallback;
349
+                if (!double.TryParse(value, out fallback))
350
+                {
351
+                    ThrowParseError(value, valueName, "decimal", fullResponse);
352
+                }
353
+                return (decimal)fallback;
349 354
             }
350 355
             return ret;
351 356
         }
@@ -355,7 +360,7 @@ namespace MAX
355 360
             int ret;
356 361
             if (!int.TryParse(value, out ret))
357 362
             {
358
-                LogParseError(value, valueName, "int", fullResponse);
363
+                ThrowParseError(value, valueName, "int", fullResponse);
359 364
             }
360 365
             return ret;
361 366
         }