//public Album() // { // tracks = new List<Track>(); // } public void GetTracks(SpotifyClient client) { var responseA = client.Albums.GetTracks(id).Result; var trackIds = client.Albums.GetTracks(id).Result.Items.Select(t => t.Id).ToList(); for (int i = 0; i < trackIds.Count; i += (trackIds.Count - i) >= 50 ? 50 : (trackIds.Count - i)) { var request = new TracksRequest(trackIds.GetRange(i, ((trackIds.Count - i) >= 50 ? 50 : (trackIds.Count - i)))); var response = client.Tracks.GetSeveral(request).Result.Tracks; response.ForEach(t => { var track = new Track() { duration_ms = t.DurationMs, isexplicit = t.Explicit, name = t.Name, popularity = t.Popularity, preview_url = t.PreviewUrl, track_number = t.TrackNumber, type = t.Type.ToString(), uri = t.Uri, spotify_url = t.ExternalUrls.Values.FirstOrDefault(), id = t.Id, disc_number = t.DiscNumber }; tracks.Add(track); }); } ; }
private async void LoadTracks() { var tracksRequest = new TracksRequest(); var tracks = await tracksRequest.List(); if (tracks != null) foreach (var track in tracks) Tracks.Add(track); }
private async void LoadTrack() { var trackService = new TracksRequest(); var track = await trackService.Get(id); if (track != null) { Track = track; LoadPalestras(); } }
public List <FullTrack> GetFullTracks(List <string> ids) { var tracks = new List <FullTrack>(); for (int i = 0; i < ids.Count; i += (ids.Count - i) >= 50 ? 50 : (ids.Count - i)) { var request = new TracksRequest(ids.Select(x => x).ToList().GetRange(i, (ids.Count - i) >= 50 ? 50 : (ids.Count - i))); var response = client.Tracks.GetSeveral(request).Result; tracks.AddRange(response.Tracks.ToList()); } return(tracks); }
public async Task Test_ListTracks_Artist() { var request = new TracksRequest() { TrackType = TrackType.Artist, Value = "43ZHCT0cAZBISjO8DG9PnE" }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); }
public (List <SpotifyModels.Artist> artists, List <ChartTrack> chartTracks) GetChartData(List <ReportTrack> chartReportTracks, string countryCode, DateTime weekStart, DateTime weekEnd) { //(List<string> artistIds, List <string> albumIds, List<ChartTrack> chartTracks) //var artists = new Dictionary<string, SpotifyModels.Artist>(); //var albums = new Dictionary<string, SpotifyModels.Album>(); //var tracks = new Dictionary<string, SpotifyModels.Track>(); var artistsx = new List <SpotifyModels.Artist>(); var chartTracks = new List <ChartTrack>(); for (int i = 0; i < chartReportTracks.Count; i += (chartReportTracks.Count - i) >= 50 ? 50 : (chartReportTracks.Count - i)) { var request = new TracksRequest(chartReportTracks.Select(x => x.id).ToList().GetRange(i, (chartReportTracks.Count - i) >= 50 ? 50 : (chartReportTracks.Count - i))); var tracksResponse = client.Tracks.GetSeveral(request).Result.Tracks; //need distinct artist ids var artists = tracksResponse.SelectMany(t => t.Artists); var albums = tracksResponse.Select(t => t.Album); var tracks = tracksResponse.GroupBy(t => t.Album.Id); artistsx = (from artist in artists select new SpotifyModels.Artist() { Id = artist.Id, Name = artist.Name, Type = artist.Type, Uri = artist.Uri, ExternalUrl = artist.ExternalUrls.Values.FirstOrDefault(), albums = (from album in tracksResponse .FindAll(a => a.Artists .Where(a => a.Id == artist.Id) .Any()) select album.Id).ToList() }).Distinct().ToList(); tracksResponse.ForEach(track => { var chartTrack = new ChartTrack() { position = chartReportTracks.Where(chartTrack => chartTrack.id == track.Id).Single().position, streams = chartReportTracks.Where(chartTrack => chartTrack.id == track.Id).Single().streams, country = countryCode, week_start = weekStart.ToString("yyyy-MM-dd"), week_end = weekEnd.ToString("yyyy-MM-dd") }; }); } return(artistsx, chartTracks); }
private async void LoadTracks() { var tracksRequest = new TracksRequest(); var tracks = await tracksRequest.List(); if (tracks != null) { foreach (var track in tracks) { Tracks.Add(track); } } }
public async Task Test_ListTracks_Recommended_Genre() { var request = new TracksRequest() { TrackType = TrackType.Recommended, Recommendation = new RecommendationRequest() { SeedGenre = "rock" } }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); }
public async Task Test_ListTracks_Favourite() { // Arrange _client.Favourites.TrackIds = new List <string> { "5plveMW66pe7YdXLbf060h" }; // Act var request = new TracksRequest() { TrackType = TrackType.Favourite }; var response = await _client.ListTracksAsync(request); // Assert Assert.IsNotNull(response); }
public async Task Test_ListTracks_Multiple() { var request = new TracksRequest() { TrackType = TrackType.Multiple, MultipleTrackIds = new List <string> { "5YdibPcnANMEMZ2NtG840v", "3gYveYzeG2u9I7dDhTfBsJ" }, }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); }
public async Task Test_ListTracks_UserTop() { var request = new TracksRequest() { TrackType = TrackType.UserTop }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); var more = await _client.ListTracksAsync(items); Assert.IsNotNull(more?.Items); Assert.IsTrue(more?.Items.Count > 0); }
public async Task Test_ListTracks_Album() { var request = new TracksRequest() { TrackType = TrackType.Album, Value = "6bL2a1Sq96zlG4FoQbcn7k" }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); var more = await _client.ListTracksAsync(items); Assert.IsNotNull(more?.Items); Assert.IsTrue(more?.Items.Count > 0); }
public async Task Test_ListTracks_Search() { var request = new TracksRequest() { TrackType = TrackType.Search, Value = "Hello", }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); var more = await _client.ListTracksAsync(items); Assert.IsNotNull(more?.Items); Assert.IsTrue(more?.Items.Count > 0); }
public async Task Test_ListTracks_Recommended_Track() { var request = new TracksRequest() { TrackType = TrackType.Recommended, Recommendation = new RecommendationRequest() { SeedTrackIds = new List <string>() { "3gYveYzeG2u9I7dDhTfBsJ" } } }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); }
public async Task Test_ListTracks_Recommended_Artist() { var request = new TracksRequest() { TrackType = TrackType.Recommended, Recommendation = new RecommendationRequest() { SeedArtistIds = new List <string>() { "6qqNVTkY8uBg9cP3Jd7DAH" } } }; var items = await _client.ListTracksAsync(request); Assert.IsNotNull(items?.Items); Assert.IsTrue(items?.Items.Count > 0); }