internal static Movie GetMovie(int id) { string json = new WebClient().DownloadString(string.Format(Constants.MovieEndpoint, Constants.ApiKey, id)); return(Movie.Parse(json)); }
internal static Movie Parse(string jsonString) { JObject json = JObject.Parse(jsonString); return(Movie.Parse(json)); }
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; }