예제 #1
0
        internal static Movie GetMovie(int id)
        {
            string json = new WebClient().DownloadString(string.Format(Constants.MovieEndpoint, Constants.ApiKey, id));

            return(Movie.Parse(json));
        }
예제 #2
0
        internal static Movie Parse(string jsonString)
        {
            JObject json = JObject.Parse(jsonString);

            return(Movie.Parse(json));
        }
예제 #3
0
 internal static Movie Parse(JToken json, bool isAbbreviated = false) {
     Movie mov = new Movie();
     mov.Id = json["id"].TryParseInt();
     mov.Title = (string)json["title"];
     mov.Year = json["year"].TryParseInt();
     mov.Genres = isAbbreviated ? null : json["genres"].Select(x => (string)x).ToList();
     mov.MPAARating = (string)json["mpaa_rating"];
     mov.Runtime = json["runtime"].TryParseInt();
     mov.ReleaseDates = ReleaseDates.Parse(json["release_dates"]);
     mov.Ratings = Ratings.Parse(json["ratings"]);
     mov.Synopsis = (string)json["synopsis"];
     mov.Posters = Posters.Parse(json["posters"]);
     mov.AbridgedCast = json["abridged_cast"].Select(x => CastMember.Parse(x)).ToList();
     mov.AbridgedDirectors = isAbbreviated ? null : json["abridged_directors"].Select(x => (string)x["name"]).ToList();
     mov.Links = MovieLinks.Parse(json["links"]);
     mov.IsAbridged = isAbbreviated;
     return mov;
 }