diff --git a/Elwig/Documents/BusinessDocument.cs b/Elwig/Documents/BusinessDocument.cs index a997e3a..2dac08f 100644 --- a/Elwig/Documents/BusinessDocument.cs +++ b/Elwig/Documents/BusinessDocument.cs @@ -1,6 +1,7 @@ using Elwig.Helpers; using Elwig.Models.Entities; using System.Collections.Generic; +using System.Globalization; using System.Linq; namespace Elwig.Documents { @@ -36,7 +37,7 @@ namespace Elwig.Documents { } private static string GetColGroup(IEnumerable cols) { - return "\n" + string.Join("\n", cols.Select(g => $"")) + "\n\n"; + return "\n" + string.Join("\n", cols.Select(g => $"")) + "\n\n"; } public static string PrintSortenaufteilung(Dictionary buckets) { diff --git a/Elwig/Helpers/Export/Ods.cs b/Elwig/Helpers/Export/Ods.cs index c1f1fa2..525d569 100644 --- a/Elwig/Helpers/Export/Ods.cs +++ b/Elwig/Helpers/Export/Ods.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder; +using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; @@ -264,7 +265,7 @@ namespace Elwig.Helpers.Export { } else if (data is float || data is double || data is byte || data is char || data is short || data is ushort || data is int || data is uint || data is long || data is ulong) { - double v = double.Parse(data?.ToString() ?? "0"); + double v = double.Parse(data?.ToString() ?? "0", CultureInfo.InvariantCulture); if (units != null && units.Length > 0) { int n = -1; switch (units[0]) { @@ -274,7 +275,7 @@ namespace Elwig.Helpers.Export { } if (n >= 0) add = string.Join(" ", add.Split(" ").Select(p => p.StartsWith("table:style-name=") ? $"table:style-name=\"N{n}\"" : p)); } - c = $"<{ct} office:value-type=\"float\" calcext:value-type=\"float\" office:value=\"{v.ToString()?.Replace(",", ".")}\"{add}>{data}"; + c = $"<{ct} office:value-type=\"float\" calcext:value-type=\"float\" office:value=\"{v.ToString(CultureInfo.InvariantCulture)}\"{add}>{data}"; } else { c = $"<{ct} office:value-type=\"string\" calcext:value-type=\"string\"{add}>{data}"; } diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 420981b..5b727d9 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -8,6 +8,7 @@ using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.Win32; using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Threading.Tasks; using System.Windows; @@ -391,8 +392,8 @@ namespace Elwig.Windows { if (e.Length == 1) filter.RemoveAt(i--); } else if (e.Length > 1 && Utils.FromToRegex.IsMatch(e)) { var parts = e.Split("-"); - double? from = (parts[0].Length > 0) ? double.Parse(parts[0].Replace(".", ",")) : null; - double? to = (parts[1].Length > 0) ? double.Parse(parts[1].Replace(".", ",")) : null; + double? from = (parts[0].Length > 0) ? double.Parse(parts[0], CultureInfo.InvariantCulture) : null; + double? to = (parts[1].Length > 0) ? double.Parse(parts[1], CultureInfo.InvariantCulture) : null; switch ((from, to)) { case ( <= 30, <= 30): case ( <= 30, null):