public PlaylistMeta Update(string id, Playlist list) { if (!playlistCache.TryGetValue(id, out var data)) { var meta = new PlaylistMeta(); PlaylistIO.UpdateMeta(meta, list); Add(id, list, meta); return(meta); } var wasNull = data.Playlist == null; data.Update(list); if (!wasNull) { foreach (var s in data.Songs) { s.RemoveList(id); if (!s.IsContainedInAList) { uniqueSongs.Remove(s.Resource); } } } data.Songs = CreateSongsInfo(id, list); return(data.Meta); }
public PlaylistDatabase(PlaylistIO io) : this((IPlaylistIO)io) { }
public void Update(Playlist list) { Playlist = list; PlaylistIO.UpdateMeta(Meta, list); }
public PlaylistManager(PlaylistIO playlistPool) { this.playlistPool = playlistPool; }