From 9145e1ad0a4b91b1b73b74a5565e2190f26b5847 Mon Sep 17 00:00:00 2001 From: Toni Leitold Date: Tue, 25 Nov 2014 09:13:34 +0100 Subject: [PATCH] FIX: Support for diffrent system locales Not all languages have . as decimal point and , as group separator. Using InvariantCulture solves this. --- Xml/BuilderBase.cs | 9 +++++---- Xml/TicketBuilder.cs | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Xml/BuilderBase.cs b/Xml/BuilderBase.cs index 22e3eb9..7ff2fa3 100755 --- a/Xml/BuilderBase.cs +++ b/Xml/BuilderBase.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using System.Xml; namespace EventbriteNET.Xml @@ -34,7 +35,7 @@ public string TryGetElementValue(string elementName, XmlDocument doc) public long TryGetElementLongValue(string elementName, XmlDocument doc) { - return long.Parse(TryGetElementValue(elementName, doc)); + return long.Parse(TryGetElementValue(elementName, doc), NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands, CultureInfo.InvariantCulture); } public long? TryGetElementNullableLongValue(string elementName, XmlDocument doc) @@ -44,12 +45,12 @@ public long TryGetElementLongValue(string elementName, XmlDocument doc) { return null; } - return long.Parse(value); + return long.Parse(value, NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands, CultureInfo.InvariantCulture); } public int TryGetElementIntValue(string elementName, XmlDocument doc) { - return Int32.Parse(TryGetElementValue(elementName, doc)); + return Int32.Parse(TryGetElementValue(elementName, doc), CultureInfo.InvariantCulture); } public int? TryGetElementNullableIntValue(string elementName, XmlDocument doc) @@ -79,7 +80,7 @@ public int TryGetElementIntValue(string elementName, XmlDocument doc) { return null; } - return float.Parse(value); + return float.Parse(value, NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands, CultureInfo.InvariantCulture); } } } diff --git a/Xml/TicketBuilder.cs b/Xml/TicketBuilder.cs index e5c39ac..aa2ad0a 100755 --- a/Xml/TicketBuilder.cs +++ b/Xml/TicketBuilder.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using EventbriteNET.Entities; using System.Xml; using System.IO; @@ -44,7 +45,7 @@ public Ticket Build(string xmlString) } if (toReturn.Type == TicketType.FixedPrice) { - toReturn.Price = Decimal.Parse(doc.GetElementsByTagName("price")[0].InnerText); + toReturn.Price = Decimal.Parse(doc.GetElementsByTagName("price")[0].InnerText, NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands, CultureInfo.InvariantCulture); }