public static Hashtable Parse(string strId, LanguageType language) { Hashtable objResults = new Hashtable(); try { Uri strUrl = new Uri(string.Format(RootUrl + "movie/{2}?api_key={1}&language={0}&append_to_response={3}", language.ToString().ToLower(), "ec7abdb7bea26002ff70d02cb5b11224", strId, "casts,rating")); string response = Util.GetRest(strUrl, false, true); //Fix since version 2.6.0.0 if (string.IsNullOrWhiteSpace(response)) { return(null); } JObject restResponse = JObject.Parse(response); TMDB objTmdb = TMDB.MovieToObject(restResponse); if (objTmdb != null) { if (objTmdb.Cast != null && MySettings.FastSearch == false) { //FIX 2.8.9.0 ParallelQuery <Artist> artists = objTmdb.Cast.AsParallel().Select(item => GetArtist(item)); if (artists != null && artists.Any()) { objResults.Add("Actors", artists.ToList()); } } objResults.Add("Country", objTmdb.Country); if (!string.IsNullOrWhiteSpace(objTmdb.MovieDescription)) { objResults.Add("Description", objTmdb.MovieDescription); } if (string.IsNullOrEmpty(objTmdb.Director) == false && MySettings.FastSearch == false) { List <Artist> directors = new List <Artist>(); Artist director = GetArtist(objTmdb.Director); directors.Add(director); objResults.Add("Director", directors); } objResults.Add("Types", objTmdb.Genres); if (!string.IsNullOrWhiteSpace(objTmdb.PosterOriginal)) { objResults.Add("Image", objTmdb.PosterOriginal); } objResults.Add("Background", objTmdb.BackdropOriginal); if (string.IsNullOrWhiteSpace(objTmdb.Url) == false) { objResults.Add("Links", objTmdb.Url); } if (string.IsNullOrWhiteSpace(objTmdb.Rated) == false) { objResults.Add("Rated", objTmdb.Rated); } if (!string.IsNullOrWhiteSpace(objTmdb.Tagline)) { objResults.Add("Comments", objTmdb.Tagline); } if (objTmdb.Rating != null) { decimal dclTemp; if (decimal.TryParse(objTmdb.Rating.Replace(".", ","), out dclTemp)) { if (dclTemp > 0) { objResults.Add("Rating", dclTemp * 2); } } } if (objTmdb.Released.HasValue) { objResults.Add("Released", objTmdb.Released.Value); } if (objTmdb.Runtime.HasValue) { objResults.Add("Runtime", objTmdb.Runtime.Value); } if (!string.IsNullOrWhiteSpace(objTmdb.Studio)) { objResults.Add("Studio", objTmdb.Studio); } objResults.Add("Title", objTmdb.Title); } return(objResults); } catch (Exception ex) { Util.LogException(ex, strId); return(null); } }