public static Playlist DeserializeFrom(IInputStream stream) { try { return((Playlist)LibrarySerializer.Create().Deserialize(stream.AsStreamForRead(), null, typeof(Playlist))); } catch { return(null); } }
public async Task Serialize() { StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("playlistcache", CreationCollisionOption.ReplaceExisting); using (Stream fileStream = await file.OpenStreamForWriteAsync()) { LibrarySerializer.Create().Serialize(fileStream, this); } }
public static string GenerateSaveFile() { using (var stream = new MemoryStream()) { LibrarySerializer.Serialize(new[] { LocalSong1, LocalSong2 }, new[] { Playlist1, Playlist2 }, SongSourcePath, stream); return(Encoding.UTF8.GetString(stream.ToArray())); } }
public void SmokeTest() { using (Stream targetStream = new MemoryStream()) { var songs = new[] { Helpers.LocalSong1, Helpers.LocalSong2 }; var playlists = new[] { Helpers.Playlist1, Helpers.Playlist2 }; LibrarySerializer.Serialize(songs, playlists, Helpers.SongSourcePath, targetStream); string expected = Helpers.GenerateSaveFile(); string actual = Helpers.StreamToString(targetStream).Replace("\r\n", String.Empty); Assert.Equal(expected, actual); } }
private async Task Deserialize(StorageFile file) { if (file == null) { file = await ApplicationData.Current.LocalFolder.GetFileAsync("playlistcache"); } using (IInputStream inStream = await file.OpenSequentialReadAsync()) { var cache = (PlaylistManager)LibrarySerializer.Create().Deserialize(inStream.AsStreamForRead(), null, typeof(PlaylistManager)); if (cache != null) { foreach (var playlist in cache.PlaylistDataMember) { await this.AddPlaylist(playlist); } } } }
public async Task Serialize() { StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("cache", CreationCollisionOption.ReplaceExisting); using (Stream fileStream = await file.OpenStreamForWriteAsync()) { LibrarySerializer.Create().Serialize(fileStream, this); //Serializer.Serialize(fileStream, this); } /*using (MemoryStream ms = new MemoryStream()) * { * var _Serializer = new DataContractJsonSerializer(GetType()); * _Serializer.WriteObject(ms, this); * ms.Position = 0; * * StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("cache", CreationCollisionOption.ReplaceExisting); * using (Stream fileStream = await file.OpenStreamForWriteAsync()) * { * await ms.CopyToAsync(fileStream); * await fileStream.FlushAsync(); * } * }*/ }
public async static Task <MusicLibraryCache> Deserialize(StorageFile file) { try { if (file == null) { file = await ApplicationData.Current.LocalFolder.GetFileAsync("cache"); } using (IInputStream inStream = await file.OpenSequentialReadAsync()) { return((MusicLibraryCache)LibrarySerializer.Create().Deserialize(inStream.AsStreamForRead(), null, typeof(MusicLibraryCache))); } /*using (IInputStream inStream = await file.OpenSequentialReadAsync()) * { * var serializer = new DataContractJsonSerializer(typeof(MusicLibraryCache)); * return (MusicLibraryCache)serializer.ReadObject(inStream.AsStreamForRead()); * }*/ } catch { } return(new MusicLibraryCache()); }
public void SerializeTo(Stream stream) { LibrarySerializer.Create().Serialize(stream, this); }
public LibraryIO(string filename, LibrarySerializer serializer, LibraryDeserializer deserializer) { this.filename = filename; this.serializer = serializer; this.deserializer = deserializer; }