/// <summary> /// Converts HTTP get result node into movie. /// </summary> /// <param name="baseMovie">Movie instance to start with (to keep path/org info from)</param> /// <param name="resultNode">Result node from get request containing movie info</param> /// <returns>Movie with properties from results node</returns> private void ParseMovieResult(Movie baseMovie, JsonNode resultNode) { baseMovie.DatabaseSelection = (int)MovieDatabaseSelection.TheMovieDb; // Go through result child nodes and get properties for movie foreach (JsonNode resultPropNode in resultNode.ChildNodes) switch (resultPropNode.Name) { case "id": int id2; int.TryParse(resultPropNode.Value, out id2); baseMovie.Id = id2; break; case "title": baseMovie.DatabaseName = resultPropNode.Value; break; case "original_title": if (string.IsNullOrEmpty(baseMovie.DatabaseName)) baseMovie.DatabaseName = resultPropNode.Value; break; case "release_date": DateTime date; DateTime.TryParse(resultPropNode.Value, out date); baseMovie.DatabaseYear = date.Year; break; case "genres": baseMovie.DatabaseGenres = new GenreCollection(GenreCollection.CollectionType.Movie); foreach (JsonNode genreNode in resultPropNode.ChildNodes) { foreach (JsonNode genrePropNode in genreNode.ChildNodes) if (genrePropNode.Name == "name") baseMovie.DatabaseGenres.Add(genrePropNode.Value); } break; case "overview": baseMovie.Overview = resultPropNode.Value; break; } }
/// <summary> /// Converts HTTP get result node into movie. /// </summary> /// <param name="baseMovie">Movie instance to start with (to keep path/org info from)</param> /// <param name="resultNode">Result node from get request containing movie info</param> /// <returns>Movie with properties from results node</returns> private void ParseMovieResult(Movie baseMovie, JsonNode resultNode) { baseMovie.DatabaseSelection = (int)MovieDatabaseSelection.RottenTomotoes; // Go through result child nodes and get properties for movie foreach (JsonNode resultPropNode in resultNode.ChildNodes) switch (resultPropNode.Name) { case "id": int id2; int.TryParse(resultPropNode.Value, out id2); baseMovie.Id = id2; break; case "title": baseMovie.DatabaseName = resultPropNode.Value; break; case "original_title": if (string.IsNullOrEmpty(baseMovie.DatabaseName)) baseMovie.DatabaseName = resultPropNode.Value; break; case "year": if (baseMovie.DatabaseYear < 1900) { int year; if (int.TryParse(resultPropNode.Value, out year)) baseMovie.DatabaseYear = year; } break; //case "release_dates": // foreach(JsonNode node in resultPropNode.ChildNodes) // if (node.Name == "theater") // { // DateTime date; // DateTime.TryParse(node.Value, out date); // baseMovie.Date = date; // } // break; case "genres": baseMovie.DatabaseGenres = new GenreCollection(GenreCollection.CollectionType.Movie); string[] genres = resultPropNode.Value.Split(','); foreach (string genre in genres) { string noQuotesGenre = genre.Replace("\"", ""); string[] multiGenre = noQuotesGenre.Split('&'); foreach (string g in multiGenre) baseMovie.DatabaseGenres.Add(g.Trim()); } break; case "synopsis": baseMovie.Overview = resultPropNode.Value; break; } }