SearchLocationLoader.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using System; 6 using System.Collections.Generic; 7 using System.Globalization; 8 using System.IO; 9 using System.Linq; 10 using System.Text; 11 using Settings.UI.Library.Helpers; 12 13 namespace Microsoft.PowerToys.Settings.UI.Helpers 14 { 15 public static class SearchLocationLoader 16 { 17 private static readonly List<SearchLocation> LocationDataList = new List<SearchLocation>(); 18 19 public static IEnumerable<SearchLocation> GetAll() 20 { 21 return LocationDataList 22 .GroupBy(l => $"{l.Country}|{l.City}|{l.Latitude.ToString(CultureInfo.InvariantCulture)}|{l.Longitude.ToString(CultureInfo.InvariantCulture)}") 23 .Select(g => g.First()) 24 .OrderBy(l => l.Country, StringComparer.OrdinalIgnoreCase) 25 .ThenBy(l => l.City, StringComparer.OrdinalIgnoreCase); 26 } 27 } 28 }