コード例 #1
0
        public async Task <Model.iTunes.Movies.Movie> GetMoviesAsync(Model.iTunes.Movies.Movie.ListingType type = Model.iTunes.Movies.Movie.ListingType.TopMovies, int count = 20, string genre = "4413")
        {
            Model.iTunes.Movies.Movie movies = null;
            if (genre != "4413")
            {
                genre = this.GetMovieGenreByKey(genre);
            }
            try
            {
                var uri = BuildMoviesUrl(type, count, genre);
                var httpResponseMessage = await this.GetAsync(new Uri(uri), null);

                var response = httpResponseMessage;
                if (response.IsSuccessStatusCode)
                {
                    var json = await response.Content.ReadAsStringAsync();

                    movies = JsonConvert.DeserializeObject <Model.iTunes.Movies.Movie>(json);
                }
                else
                {
                    response = (HttpResponseMessage)null;
                }
            }
            catch (Exception ex)
            {
                this.DealWithErrors(ex);
            }
            return(movies);
        }
コード例 #2
0
        public string BuildMoviesUrl(Model.iTunes.Movies.Movie.ListingType type = Model.iTunes.Movies.Movie.ListingType.TopMovies, int limit = 0, string genre = "4413")
        {
            var stringBuilder = new StringBuilder(this._urlBase);

            if (type == Model.iTunes.Movies.Movie.ListingType.TopMovies)
            {
                stringBuilder.Append(this._topMovies);
            }
            else
            {
                stringBuilder.Append(this._movieRentals);
            }
            if (limit > 0)
            {
                stringBuilder.Append(this._limit);
                stringBuilder.Append(limit.ToString());
            }
            stringBuilder.Append(this._genre);
            stringBuilder.Append(genre);
            stringBuilder.Append("/json");
            return(stringBuilder.ToString());
        }