Exemple #1
0
        private IRestRequest FillExtended(IRestRequest request, TraktExtendEnum extended)
        {
            string extendedText;

            switch (extended)
            {
            case TraktExtendEnum.MIN:
                extendedText = "min";
                break;

            case TraktExtendEnum.IMAGES:
                extendedText = "images";
                break;

            case TraktExtendEnum.FULL:
                extendedText = "full";
                break;

            case TraktExtendEnum.FULL_IMAGES:
                extendedText = "full,images";
                break;

            case TraktExtendEnum.METADATA:
                extendedText = "metadata";
                break;

            default:
                extendedText = "min";
                break;
            }

            return(request.AddQueryParameter("extended", extendedText));
        }
Exemple #2
0
        public async Task <IList <TVShow> > GetPopularShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN, int page = 1, int limit = 10)
        {
            var request = new RestRequest("shows/popular").
                          AddQueryParameter("page", page).
                          AddQueryParameter("limit", limit);

            FillExtended(request, extended);

            var response = await client.Execute <IList <TVShow> >(request);

            return(response.Data);
        }
Exemple #3
0
        public async Task <IList <TraktTVShow> > GetRecommendedShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("recommendations/shows");

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <IList <TraktTVShow> >(request);

            return(response.Data);
        }
Exemple #4
0
        public async Task <IList <TraktSeason> > GetSeasonsAsync(int showId, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("shows/{id}/seasons").
                          AddUrlSegment("id", showId);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <IList <TraktSeason> >(request);

            return(response.Data);
        }
Exemple #5
0
        public async Task <IList <TraktTrendingTVShow> > GetTrendingShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN, int page = 1, int limit = 10)
        {
            var request = new RestRequest("shows/trending").
                          AddQueryParameter("page", page).
                          AddQueryParameter("limit", limit);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <IList <TraktTrendingTVShow> >(request);

            return(response.Data);
        }
Exemple #6
0
        public async Task <Dictionary <DateTime, List <TraktCalendarItem> > > GetCalendarAsync(DateTime startDate, int days, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("calendars/shows/{start_date}/{days}").
                          AddUrlSegment("start_date", startDate.ToString("yyyy-MM-dd")).
                          AddUrlSegment("days", days);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <Dictionary <DateTime, List <TraktCalendarItem> > >(request);

            return(response.Data);
        }
Exemple #7
0
        public async Task <TraktWatchedProgress> GetShowWatchedProgressAsync(int showId, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("shows/{id}/progress/watched").
                          AddUrlSegment("id", showId);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <TraktWatchedProgress>(request);

            return(response.Data);
        }
Exemple #8
0
        public async Task <TraktEpisode> GetEpisodeAsync(int showId, int seasonNumber, int episodeNumber, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("shows/{id}/seasons/{season}/episodes/{episode}").
                          AddUrlSegment("id", showId).
                          AddUrlSegment("season", seasonNumber).
                          AddUrlSegment("episode", episodeNumber);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute <TraktEpisode>(request);

            return(response.Data);
        }
Exemple #9
0
        public async Task<IList<TVShow>> GetPopularShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN, int page = 1, int limit = 10)
        {
            var request = new RestRequest("shows/popular").
                AddQueryParameter("page", page).
                AddQueryParameter("limit", limit);

            FillExtended(request, extended);

            var response = await client.Execute<IList<TVShow>>(request);

            return response.Data;
        }
Exemple #10
0
        private IRestRequest FillExtended(IRestRequest request, TraktExtendEnum extended)
        {
            string extendedText;
            switch (extended)
            {
            case TraktExtendEnum.MIN:
                extendedText = "min";
                break;
            case TraktExtendEnum.IMAGES:
                extendedText = "images";
                break;
            case TraktExtendEnum.FULL:
                extendedText = "full";
                break;
            case TraktExtendEnum.FULL_IMAGES:
                extendedText = "full,images";
                break;
            case TraktExtendEnum.METADATA:
                extendedText = "metadata";
                break;
            default:
                extendedText = "min";
                break;
            }

            return request.AddQueryParameter("extended", extendedText);
        }
Exemple #11
0
        public async Task<Dictionary<DateTime, List<CalendarItem>>> GetCalendarAsync(DateTime startDate, int days, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("calendars/shows/{start_date}/{days}").
                           AddUrlSegment("start_date", startDate.ToString("yyyy-MM-dd")).
                           AddUrlSegment("days", days);

            FillExtended(request, extended);

            var response = await client.Execute<Dictionary<DateTime, List<CalendarItem>>>(request);

            return response.Data;
        }
Exemple #12
0
        public async Task<TraktTVShow> GetShowAsync(int showId, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("shows/{id}").
                AddUrlSegment("id", showId);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute<TraktTVShow>(request);

            return response.Data;
        }
Exemple #13
0
        public async Task<IList<TraktTrendingTVShow>> GetTrendingShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN, int page = 1, int limit = 10)
        {
            var request = new RestRequest("shows/trending").
                AddQueryParameter("page", page).
                AddQueryParameter("limit", limit);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute<IList<TraktTrendingTVShow>>(request);

            return response.Data;
        }
Exemple #14
0
        public async Task<IList<TraktTVShow>> GetRecommendedShowsAsync(TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("recommendations/shows");

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute<IList<TraktTVShow>>(request);

            return response.Data;
        }
Exemple #15
0
        public async Task<TraktEpisode> GetEpisodeAsync(int showId, int seasonNumber, int episodeNumber, TraktExtendEnum extended = TraktExtendEnum.MIN)
        {
            var request = new RestRequest("shows/{id}/seasons/{season}/episodes/{episode}").
                AddUrlSegment("id", showId).
                AddUrlSegment("season", seasonNumber).
                AddUrlSegment("episode", episodeNumber);

            FillExtended(request, extended);

            Debug.WriteLine("Requesting {0}", request.Resource);

            var response = await RestClient.Execute<TraktEpisode>(request);

            return response.Data;
        }