public PlaylistVM GetPlayList(EnumPlayLists playLists) { string spotifyToken = GetSpotifyToken(); CheckIfSpotifyTokenHasBeenProvided(spotifyToken); var client = new RestClient(string.Concat(this._spotifyPlayListApiUrl, GetPlaylist(playLists))); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", $"Bearer {spotifyToken}"); IRestResponse response = client.Execute(request); if (response.IsSuccessful) { SpotifyPlaylistVM spotifyPlaylist = JsonConvert.DeserializeObject <SpotifyPlaylistVM>(response.Content); IList <TrackVM> playListTracks = (from track in spotifyPlaylist.tracks.items select new TrackVM(track.track.name, track.track.album.name, track.track.artists.Select(artist => artist.name).ToList(), track.track.external_urls.spotify, track.track.preview_url, track.track.duration_ms)).ToList(); PlaylistVM recomendedPlaylist = new PlaylistVM(); recomendedPlaylist.SetPlaylistTracks(playListTracks); recomendedPlaylist.SetPlaylistName(spotifyPlaylist.name); recomendedPlaylist.SetPlaylistUrl(spotifyPlaylist.external_urls.spotify); return(recomendedPlaylist); } else { throw new Exception(response.Content); } }
private string GetPlaylist(EnumPlayLists playLists) { string playlistPredicate = string.Empty; switch (playLists) { case EnumPlayLists.POP: playlistPredicate = "37i9dQZF1DWTwnEm1IYyoj"; break; case EnumPlayLists.ROCK: playlistPredicate = "37i9dQZF1DX6xOPeSOGone"; break; case EnumPlayLists.CLASSICAL: playlistPredicate = "37i9dQZF1DWWEJlAGA9gs0"; break; default: playlistPredicate = "37i9dQZF1DXaXB8fQg7xif"; break; } return(playlistPredicate); }
public PlaylistVM GetPlaylistByWeatherLocalityCondition(string locale) { ValidateLocale(locale); int temperature = this._openWeatherService.GetTemperatureByLocation(locale); EnumPlayLists recomendedPlaylist = GetSugestedPlaylistByTemperature(temperature); return(this._spotifyService.GetPlayList(recomendedPlaylist)); }
public EnumPlayLists GetSugestedPlaylistByTemperature(int temperature) { EnumPlayLists playlist = EnumPlayLists.CLASSICAL; if (CheckIfPartyPlalist(temperature)) { playlist = EnumPlayLists.PARTY; } else if (CheckIfPopPlaylist(temperature)) { playlist = EnumPlayLists.POP; } else if (CheckIfRockPlaylist(temperature)) { playlist = EnumPlayLists.ROCK; } return(playlist); }