Exemple #1
0
        private PlaylistInformation GetPlaylistContentInformation(string playlist)
        {
            var playlistInformation = new PlaylistInformation();

            using (var cref = _context.EnsureUmbracoContext())
            {
                var cache             = cref.UmbracoContext.Content;
                var globalContentRoot =
                    cache.GetAtRoot().FirstOrDefault(r => r.IsDocumentType(DocumentTypes.GlobalContent));

                var videoRoot = globalContentRoot?.Children.FirstOrDefault(c => c.IsDocumentType(DocumentTypes.Video));

                var targetPlaylist =
                    videoRoot?.Children.FirstOrDefault(v =>
                                                       v.IsDocumentType(DocumentTypes.Playlist) && v.Name.Equals(playlist));

                playlistInformation.PlaylistItemsContent =
                    targetPlaylist?.Children.Where(c => c.IsDocumentType(DocumentTypes.PlaylistItem));
                playlistInformation.PlaylistId = targetPlaylist?.Id ?? 0;

                return(playlistInformation);
            }
        }
        private static async Task <IEnumerable <SpotifyTrack> > GetPlaylistTracksAsync(PlaylistInformation playlists)
        {
            var playlistId = playlists.Details.FirstOrDefault(playlist => playlist.Name == PlaylistName).Id;

            var requestPlaylistTracks =
                new HttpRequestMessage(HttpMethod.Get, new Uri($"{Url}/playlists/{playlistId}/tracks"));

            requestPlaylistTracks.Headers.Authorization =
                new AuthenticationHeaderValue(_accessToken.token_type, _accessToken.access_token);

            var playlistTrackResponse = await Client.SendAsync(requestPlaylistTracks);

            var result = playlistTrackResponse.Content.ReadAsStringAsync().Result;

            var tracks = JsonConvert.DeserializeObject <TrackInformation>(result);

            return(tracks.Details.Select(trackDetails => new SpotifyTrack
            {
                Name = trackDetails.Songs.Name,
                Artist = trackDetails.Songs.Artists.First().Name
            })
                   .ToList());
        }