public IActionResult GetPlaylistByPlaylistId([FromRoute] string id) { var playlist = _mappingRepository.GetAll().SingleOrDefault(m => m.PlaylistId == id); if (playlist == null) { return(NotFound($"Playlist with id: {id} is not valid.")); } var countryname = _worldExplorerContext.Countries.FirstOrDefault(m => m.Id == playlist.CountryId).Name; SpotifyBasicDto entity = new SpotifyBasicDto(); entity.Playlist = new List <SpotifyBasicTracksDto>(); entity.PlaylistId = playlist.PlaylistId; entity.CountryId = playlist.CountryId; entity.CountryName = countryname; entity.Url = new Uri($"https://open.spotify.com/playlist/{playlist.PlaylistId}"); return(Ok(entity)); }
public async Task <IActionResult> GetCountryPlaylist([FromRoute] Guid id) { bool check = _spotify.CheckClientCredentials().Result; if (check == true) { var playlist = _mappingRepository.GetAll().FirstOrDefault(m => m.CountryId == id); if (playlist == null) { return(NotFound($"Playlist with id: {id} is not valid.")); } var fullplaylist = await _spotify.GetFullPlaylist(playlist.PlaylistId); var tracks = await _spotify.GetFirst100Tracks(fullplaylist); var country = getCountry(playlist.CountryId); SpotifyBasicDto spotifyBasicDto = new SpotifyBasicDto() { CountryId = country.Id, CountryName = country.Name, PlaylistId = playlist.PlaylistId, Url = new Uri($"https://open.spotify.com/playlist/{playlist.PlaylistId}") }; spotifyBasicDto.Playlist = new List <SpotifyBasicTracksDto>(); if (tracks != null) { foreach (var track in tracks) { spotifyBasicDto.Playlist.Add( new SpotifyBasicTracksDto { Artists = track.Artists, Number = track.Number, Name = track.Name, PreviewUrl = track.PreviewUrl }); } } return(Ok(spotifyBasicDto)); } return(BadRequest("Service not availible")); }
public async Task <IActionResult> GetBasicSpotifyPlaylists() { var playlists = _mappingRepository.GetAll(); var countries = _worldExplorerContext.Countries.ToList(); List <SpotifyBasicDto> spotifyBasicDtos = new List <SpotifyBasicDto>(); foreach (var playlist in playlists) { var country = countries.FirstOrDefault(m => m.Id == playlist.CountryId); SpotifyBasicDto spotifyBasicDto = new SpotifyBasicDto() { CountryId = country.Id, CountryName = country.Name, PlaylistId = playlist.PlaylistId, Url = new Uri($"https://open.spotify.com/playlist/{playlist.PlaylistId}"), Playlist = new List <SpotifyBasicTracksDto>() }; spotifyBasicDtos.Add(spotifyBasicDto); } return(Ok(spotifyBasicDtos)); }
public async Task <IActionResult> GetBasicSpotifyPlaylist([FromRoute] Guid id) { var playlist = await _mappingRepository.GetById(id); if (playlist == null) { return(NotFound($"Playlist with id: {id} is not valid.")); } var fullplaylist = await _spotify.GetFullPlaylist(playlist.PlaylistId); var tracks = await _spotify.GetFirst100Tracks(fullplaylist); var country = getCountry(playlist.CountryId); SpotifyBasicDto spotifyBasicDto = new SpotifyBasicDto() { CountryId = country.Id, CountryName = country.Name, PlaylistId = playlist.PlaylistId, Url = new Uri($"https://open.spotify.com/playlist/{playlist.PlaylistId}") }; spotifyBasicDto.Playlist = new List <SpotifyBasicTracksDto>(); foreach (var track in tracks) { spotifyBasicDto.Playlist.Add( new SpotifyBasicTracksDto { Artists = track.Artists, Number = track.Number, Name = track.Name, PreviewUrl = track.PreviewUrl }); } return(Ok(spotifyBasicDto)); }
public async Task <IActionResult> UpdatePlaylistByPlaylistId([FromRoute] string id, [FromBody] SpotifyBasicDto dto) { var playlist = _mappingRepository.GetAll().SingleOrDefault(m => m.PlaylistId == id); if (playlist == null) { return(NotFound($"Playlist with id: {id} is not valid.")); } playlist.PlaylistId = dto.PlaylistId; var entity = await _mappingRepository.Update(playlist); if (entity == null) { return(NotFound($"Playlist with id: {id} could not be deleted.")); } //return Ok(entity); return(Ok()); }