public static List <TrackEntity> ExtractTracksFromResponse(TracksResponse response) { var responseItems = response.Items; var trackList = responseItems.Select(trackItem => trackItem.Track.Id) .Select(id => new TrackEntity { SpotifyId = id, Rates = new List <Rate>() }) .ToList(); return(trackList); }
public string GetTracks([FromBody] GetTracksRequest request) { TracksResponse tracksResponse = new TracksResponse(); List <Track> tracks = new List <Track>(); WebClient web = new WebClient(); web.Headers.Set("Authorization", $"Bearer {request.authToken}"); JObject spotifyResponse = JObject.Parse(web.DownloadString(request.playlistUrl)); JArray items = spotifyResponse["items"].ToObject <JArray>(); foreach (JObject item in items) { Track track = new Track(); track.TrackName = item["track"]["name"].ToString(); track.ArtistName = item["track"]["artists"][0]["name"].ToString(); tracks.Add(track); } tracksResponse.nextUrl = spotifyResponse["next"].ToString(); tracksResponse.previousUrl = spotifyResponse["previous"].ToString(); tracksResponse.Tracks = tracks; return(JsonConvert.SerializeObject(tracksResponse)); }