public static void saveProgressAndOrderAsync(List<ChallengeProgress> progress, List<int> order,  string leaguename)
 {
     var data = new ProgressOrderContainer(progress, order);
     saveData(data, leaguename);
 }
 private static void saveData(ProgressOrderContainer data, string leaguename)
 {
     try
     {
         //uwp implementation:
         //StorageFile saveFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(makeFilename(leaguename), CreationCollisionOption.ReplaceExisting);
         //DataContractSerializer serializer = new DataContractSerializer(data.GetType());
         //var targetStream = await saveFile.OpenStreamForWriteAsync();
         //serializer.WriteObject(targetStream, data);
         //targetStream.Dispose();
         var savePath = getSavePath();
         XmlSerializer serializer = new XmlSerializer(data.GetType());
         var filepath = Path.Combine(savePath, makeFilename(leaguename));
         Directory.CreateDirectory(savePath);
         var writer = new StreamWriter(filepath);
         serializer.Serialize(writer, data);
         writer.Dispose();
     }
     catch (Exception e)
     {
         System.Diagnostics.Debug.WriteLine("Error during saving. Reason: " + e.Message);
         throw new Exception("Error during saving", e);
     }
 }