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()); }
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)); }