public string Build(RecentlyPlayedQuery query)
        {
            var builder = new StringBuilder("?");
            var limit   = query.Limit == 0 ? 10 : query.Limit;

            builder.Append($"limit={limit}");
            if (query.DateFilter != null)
            {
                switch (query.DateFilter)
                {
                case After after:
                    builder.Append($"&after={after.Date.ToEpoch()}");
                    break;

                case Before before:
                    builder.Append($"&before={before.Date.ToEpoch()}");
                    break;
                }
            }

            return(builder.ToString());
        }
Beispiel #2
0
        public Task <CursorBasedPagingResult <PlayHistory> > GetRecentlyPlayedAsync(RecentlyPlayedQuery query, CancellationToken ct = default)
        {
            var queryUrl = $"{ApiBaseUrl}/me/player/recently-played{ _queryParameterBuilder.Build(query)}";

            return(GetAsync <CursorBasedPagingResult <PlayHistory> >(queryUrl, ct));
        }