public async Task <bool> DeletePlaylistTracks(string uuid)
        {
            var current = await tidlSession.GetPlaylistTracks(uuid);

            var userPlayList = await tidlSession.GetUserPlaylists();

            var ListOfIds = userPlayList.Items.Select(x => x.Id).ToList();//Run on Object and take only ids

            var deleteResponse = await tidlSession.DeletePlaylistTracks(uuid, current.ETag, ListOfIds);

            if (!string.IsNullOrEmpty(deleteResponse.ETag))
            {
                logger.Write(LogLevel.Info, $"Deleted for tag {deleteResponse.ETag}, and uuid: {uuid}");
            }
            var reTryGet = await GetPlayListTracks(uuid);//After deleted i check that there is no playlisttracks

            var isDeleted = reTryGet == null || reTryGet.Items.Length == 0;

            return(isDeleted);
        }
示例#2
0
        public override async Task <Playlist> GetPlaylistAsync(string playlistId)
        {
            var playlist = await session.GetPlaylist(playlistId);

            var tracks = await session.GetPlaylistTracks(playlistId);

            return(new Playlist
            {
                Title = playlist.Title,
                Tracks = (from t in tracks.Items select CreateTrack(t)).ToList()
            });
        }
 public async Task <JsonList <TrackModel> > GetPlaylistTracks(string uuid)
 {
     return(await tidlSession.GetPlaylistTracks(uuid));
 }