Пример #1
0
        public void initClient(string accessToken)
        {
            try
            {
                var request = new FollowOfCurrentUserRequest {
                    Limit = 50
                };
                client = new SpotifyClient(accessToken);
                var followedArtists       = client.Follow.OfCurrentUser().Result;
                List <FullArtist> follows = (List <FullArtist>)client.PaginateAll(followedArtists.Artists, next => next.Artists).Result;

                getPlaylists();

                releases = new List <Release>();

                foreach (var follow in follows)
                {
                    var     latestRelease = getLatestRelease(follow.Id);
                    Release release       = new Release();

                    release.artist      = follow.Name;
                    release.album       = latestRelease.Name;
                    release.date        = latestRelease.ReleaseDate;
                    release.link        = "https://open.spotify.com/" + latestRelease.Uri.Replace("spotify:", "").Replace(':', '/');
                    release.oneliner    = $"{release.artist} - {release.album}";
                    release.youtubeLink = $"https://music.youtube.com/search?q={release.oneliner}";
                    release.uri         = latestRelease.Uri;
                    release.id          = latestRelease.Id;
                    release.tracks      = client.Albums.GetTracks(latestRelease.Id).Result;

                    releases.Add(release);
                }

                releases.Sort(CompareReleases); // sort all releases (show newest songs on top)
                notifyIfNeeded(releases);

                listView.Invoke(new Action(() =>
                {
                    foreach (Release release in releases)
                    {
                        listView.Items.Add(release.artist);

                        var i = listView.Items.Count - 1;

                        listView.Items[i].SubItems.Add(release.album);
                        listView.Items[i].SubItems.Add(release.date);
                    }

                    listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                }));
                ready = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                ready = false;
            }
        }
Пример #2
0
        public async Task OfCurrentUser_PassesQueryParams()
        {
            var api    = new Mock <IAPIConnector>();
            var client = new FollowClient(api.Object);

            var request = new FollowOfCurrentUserRequest(FollowOfCurrentUserRequest.Type.Artist);
            await client.OfCurrentUser(request);

            api.Verify(a => a.Get <FollowedArtistsResponse>(
                           SpotifyUrls.CurrentUserFollower(),
                           It.Is <Dictionary <string, string> >(val => val.ContainsKey("type"))
                           ));
        }