// ------------------------------------------------------------- // Most Watched Movies public async Task <PaginationList <MostPWCMovie> > GetMostWatchedMoviesAsync(TraktExtendedInfo extendedInfo = null, TraktMovieFilter movieFilter = null, TraktTimePeriod period = null, int?whichPage = null, int?limitPerPage = null) { var traktResults = await Client.Movies.GetMostWatchedMoviesAsync(period, extendedInfo, movieFilter, whichPage, limitPerPage); var results = new PaginationList <MostPWCMovie> { CurrentPage = traktResults.Page, TotalPages = traktResults.PageCount, LimitPerPage = traktResults.Limit, TotalItemCount = traktResults.ItemCount, TotalUserCount = traktResults.UserCount }; results.Items = new ObservableCollection <MostPWCMovie>(); foreach (var traktMostWatchedMovie in traktResults) { var mostWatchedMovie = MovieModelConverter.Convert <MostPWCMovie>(traktMostWatchedMovie.Movie); if (mostWatchedMovie != null) { mostWatchedMovie.WatcherCount = traktMostWatchedMovie.WatcherCount.GetValueOrDefault(); mostWatchedMovie.PlayCount = traktMostWatchedMovie.PlayCount.GetValueOrDefault(); mostWatchedMovie.CollectedCount = traktMostWatchedMovie.CollectedCount.GetValueOrDefault(); results.Items.Add(mostWatchedMovie); } } return(results); }
// ------------------------------------------------------------- // Most Played Shows public async Task <PaginationList <MostPWCShow> > GetMostPlayedShowsAsync(TraktExtendedInfo extendedInfo = null, TraktShowFilter showFilter = null, TraktTimePeriod period = null, int?whichPage = null, int?limitPerPage = null) { var traktResults = await Client.Shows.GetMostPlayedShowsAsync(period, extendedInfo, showFilter, whichPage, limitPerPage); var results = new PaginationList <MostPWCShow> { CurrentPage = traktResults.Page, TotalPages = traktResults.PageCount, LimitPerPage = traktResults.Limit, TotalItemCount = traktResults.ItemCount, TotalUserCount = traktResults.UserCount }; results.Items = new ObservableCollection <MostPWCShow>(); foreach (var traktMostPlayedShow in traktResults) { var mostPlayedShow = ShowModelConverter.Convert <MostPWCShow>(traktMostPlayedShow.Show); if (mostPlayedShow != null) { mostPlayedShow.WatcherCount = traktMostPlayedShow.WatcherCount.GetValueOrDefault(); mostPlayedShow.PlayCount = traktMostPlayedShow.PlayCount.GetValueOrDefault(); mostPlayedShow.CollectedCount = traktMostPlayedShow.CollectedCount.GetValueOrDefault(); mostPlayedShow.CollectorCount = traktMostPlayedShow.CollectorCount.GetValueOrDefault(); results.Items.Add(mostPlayedShow); } } return(results); }
public async Task <IEnumerable <TraktMostWatchedShow> > GetMostWatchesShows(TraktTimePeriod period = null, int?page = null, int?limitPerPage = null) { var anticipatedShows = await Client.Shows.GetMostWatchedShowsAsync(period ?? TraktTimePeriod.Monthly, new TraktExtendedInfo { Full = true }, null, page ?? 1, limitPerPage ?? 10); return(anticipatedShows.Items); }
public void TestTraktTimePeriodIsTraktEnumeration() { var enumeration = new TraktTimePeriod(); enumeration.Should().BeAssignableTo <TraktEnumeration>(); }
/// <summary> /// Gets the most collected shows. /// <para>OAuth authorization not required.</para> /// <para> /// See <a href="http://docs.trakt.apiary.io/#reference/shows/collected/get-the-most-collected-shows">"Trakt API Doc - Shows: Collected"</a> for more information. /// </para> /// </summary> /// <param name="period">The time period, for which the most collected shows should be queried. See also <seealso cref="TraktTimePeriod" />.</param> /// <param name="extendedInfo"> /// The extended info, which determines how much data about the shows should be queried. /// See also <seealso cref="TraktExtendedInfo" />. /// </param> /// <param name="filter">Optional filters for genres, languages, year, runtimes, ratings, etc. See also <seealso cref="TraktShowFilter" />.</param> /// <param name="pagedParameters"></param> /// <param name="cancellationToken"></param> /// <returns> /// An <see cref="TraktPagedResponse{ITraktMostPWCShow}"/> instance containing the queried most collected shows and which also /// contains the queried page number, the page's item count, maximum page count and maximum item count. /// <para> /// See also <seealso cref="TraktPagedResponse{ListItem}" /> and <seealso cref="ITraktMostPWCShow" />. /// </para> /// </returns> /// <exception cref="TraktException">Thrown, if the request fails.</exception> public Task <TraktPagedResponse <ITraktMostPWCShow> > GetMostCollectedShowsAsync(TraktTimePeriod period = null, TraktExtendedInfo extendedInfo = null, TraktShowFilter filter = null, TraktPagedParameters pagedParameters = null, CancellationToken cancellationToken = default) { var requestHandler = new RequestHandler(Client); return(requestHandler.ExecutePagedRequestAsync(new ShowsMostCollectedRequest { Period = period, ExtendedInfo = extendedInfo, Filter = filter, Page = pagedParameters?.Page, Limit = pagedParameters?.Limit }, cancellationToken)); }
public async Task <TraktPaginationListResult <TraktMostCollectedShow> > GetMostCollectedShowsAsync(TraktTimePeriod period = null, TraktExtendedInfo extendedInfo = null, TraktShowFilter filter = null, int?page = null, int?limitPerPage = null) => await QueryAsync(new TraktShowsMostCollectedRequest(Client) { Period = period, ExtendedInfo = extendedInfo, Filter = filter, PaginationOptions = new TraktPaginationOptions(page, limitPerPage) });