using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using TMDbLib.Objects.Discover; using TMDbLib.Objects.General; using TMDbLib.Rest; using TMDbLib.Utilities; namespace TMDbLib.Client { public partial class TMDbClient { /// /// Can be used to discover movies matching certain criteria /// public DiscoverMovie DiscoverMoviesAsync() { return new DiscoverMovie(this); } internal async Task> DiscoverPerformAsync(string endpoint, string language, int page, SimpleNamedValueCollection parameters, CancellationToken cancellationToken = default) { RestRequest request = _client.Create(endpoint); if (page != 1 && page > 1) request.AddParameter("page", page.ToString()); if (!string.IsNullOrWhiteSpace(language)) request.AddParameter("language", language); foreach (KeyValuePair pair in parameters) request.AddParameter(pair.Key, pair.Value); SearchContainer response = await request.GetOfT>(cancellationToken).ConfigureAwait(false); return response; } /// /// Can be used to discover new tv shows matching certain criteria /// public DiscoverTv DiscoverTvShowsAsync() { return new DiscoverTv(this); } } }