Beispiel #1
0
        public static string GetNameMusicGenre(this MusicGenreEnum genreEnum)
        {
            string genre;

            switch (genreEnum)
            {
            case MusicGenreEnum.Pop:
                genre = "pop";
                break;

            case MusicGenreEnum.Mpb:
                genre = "mpb";
                break;

            case MusicGenreEnum.Classic:
                genre = "classical";
                break;

            case MusicGenreEnum.Rock:
                genre = "rock";
                break;

            default:
                genre = string.Empty;
                break;
            }

            return(genre);
        }
Beispiel #2
0
        private static HttpRequestMessage GetRequestAlbumsByGenres(MusicGenreEnum genreEnum, int maxByGenre,
                                                                   string token)
        {
            var builder = new UriBuilder(UriAlbums)
            {
                Query = $"limit={maxByGenre.ToText()}&market=PT&seed_genres={genreEnum.GetNameMusicGenre()}"
            };

            var request = new HttpRequestMessage(HttpMethod.Get, builder.Uri);

            request.Headers.Add("Authorization", $"Bearer {token}");

            return(request);
        }
Beispiel #3
0
        public async Task <ResponseGetAlbumSpotify> GetAlbumsByGenres(MusicGenreEnum genreEnum, int maxByGenre)
        {
            var token = await GenerateToken();

            var request = GetRequestAlbumsByGenres(genreEnum, maxByGenre, token);

            using (var client = _clientFactory.CreateClient())
            {
                var response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    return(null);
                }

                var json = await response.Content.ReadAsStringAsync();

                var responseGetAlbum = JsonConvert.DeserializeObject <ResponseGetAlbumSpotify>(json);

                responseGetAlbum.music_genre = genreEnum;

                return(responseGetAlbum);
            }
        }