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); } }