예제 #1
0
        public static IEnumerable <string> GetBucketDescriptions(this ArtistBucket bucket)
        {
            var buckets = bucket.GetBuckets();

            foreach (var b in buckets)
            {
                yield return(EnumHelpers.GetDescription(b));
            }
        }
예제 #2
0
        public static IEnumerable <ArtistBucket> GetBuckets(this ArtistBucket bucket)
        {
            var buckets = bucket.ToString().Split(',');

            foreach (var s in buckets)
            {
                ArtistBucket parsed;
                if (Enum.TryParse(s.Trim(), out parsed))
                {
                    yield return(parsed);
                }
            }
        }
예제 #3
0
        private UriQuery GetQuery(ArtistBucket? bucket = null)
        {
            UriQuery query = Build(Url)
                .Add("api_key", ApiKey);

            if (bucket.HasValue)
            {
                foreach (var bucketName in bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucketName);
                }
            }

            return query;
        }
예제 #4
0
        private UriQuery GetQuery(int numberOfResults, int start, ArtistBucket? bucket)
        {
            UriQuery query = Build(Url)
                .Add("api_key", ApiKey)
                .Add("results", numberOfResults)
                .Add("start", start);

            if (bucket.HasValue)
            {
                foreach (var bucketString in bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucketString);
                }
            }

            return query;
        }
예제 #5
0
        public Task<TopHotttResponse> ExecuteAsync(int numberOfResults = 15, int start = 0, ArtistBucket? bucket = null)
        {
            UriQuery query = GetQuery(numberOfResults, start, bucket);

            return ExecuteAsync<TopHotttResponse>(query.ToString());
        }
예제 #6
0
        public Task<ProfileResponse> ExecuteAsync(string name, ArtistBucket? bucket = null)
        {
            UriQuery query = GetQuery(bucket).Add("name", name);

            return ExecuteAsync<ProfileResponse>(query.ToString());
        }
예제 #7
0
        public Task<ProfileResponse> ExecuteAsync(IdSpace id, ArtistBucket? bucket = null)
        {
            UriQuery query = GetQuery(bucket).Add("id", id);

            return ExecuteAsync<ProfileResponse>(query.ToString());
        }