/ src / settings-ui / Settings.UI.Library / Helpers / SearchLocationLoader.cs
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  }