Exemple #1
0
        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));
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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());
        }