private string AddActorsArray(MovieDetailResponse movie, string docJson) { var isFirst = true; var actors = movie.Actors.EscapeString().Split(","); foreach (var actor in actors) { if (isFirst) { isFirst = false; } else { docJson += ","; } docJson += @" { '@type': 'http://schema.org/Person', 'http://schema.org/name': '" + actor + @"' }"; } return(docJson); }
private Movie Map(MovieDetailResponse source, string imageBasePath, IEnumerable <Genre> genres) { if (source == null) { return(null); } const string posterImageSize = "w342"; const string backdropImageSize = "w1280"; var mapped = new Movie { Id = source.Id, BackdropPath = $"{imageBasePath}{backdropImageSize}{source.BackdropPath}", Budget = source.Budget, Genres = source.Genres, HomePage = source.HomePage, Overview = source.Overview, Popularity = source.Popularity, PosterPath = $"{imageBasePath}{posterImageSize}{source.PosterPath}", ReleaseDate = source.ReleaseDate, Revenue = source.Revenue, RuntimeInMinutes = source.RuntimeInMinutes, Tagline = source.Tagline, Title = source.Title, VoteAverage = source.VoteAverage, VoteCount = source.VoteCount }; return(mapped); }
/// <summary> /// Metodo que se encarga de obtener los detalles de una de las peliculas seleccionadas. /// </summary> private async void GetMovieDetail() { try { IMovieService service = new MovieService(); MovieDetailR = await service.GetMovie(ClaroSingleton.GetId()); var movies = await service.GetMovies("", "16"); RecommendedMovies = new ObservableCollection <Claro.Models.REST.Group>(movies.response.groups.ToList()); Talents = new ObservableCollection <Talent>(MovieDetailR.response.group.common.extendedcommon.roles.role.FirstOrDefault().talents.talent.ToList()); MovieTitle = MovieDetailR.response.group.common.title; MovieDescription = MovieDetailR.response.group.common.large_description; Rating = MovieDetailR.response.group.common.extendedcommon.media.rating.code; MovieYear = MovieDetailR.response.group.common.extendedcommon.media.publishyear; MovieOriginalTitle = MovieDetailR.response.group.common.extendedcommon.media.originaltitle; MovieDuration = MovieDetailR.response.group.common.duration; ImageUri = MovieDetailR.response.group.common.image_base_horizontal; foreach (var g in MovieDetailR.response.group.common.extendedcommon.genres.genre) { MovieGenres += $"{g.desc} "; } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
private Rating GetRating(MovieDetailResponse movie) { if (movie.Ratings != null && movie.Ratings.Count > 0) { return(movie.Ratings[0]); } return(new Rating()); }
public static string ConvertToHtml(MovieDetailResponse movieDetailResponse) { StringBuilder sb = new StringBuilder(); sb.Append("<h1>" + movieDetailResponse.original_title + "</h1>"); sb.Append("<p>" + movieDetailResponse.original_title + " is recommended to you !!!</p>"); return(sb.ToString()); }
public async Task <MovieDetailResponse> GetMovie(string id) { var r = new MovieDetailResponse(); FClient = Init(); try { var jsonResponse = await FClient.GetAsync($"{apiUrl}data?group_id={id}&HKS=51bja77u5hro762k3l57a9rld5&device_manufacturer=windows&device_id=windows&device_type=windows&device_model=w10&device_category=tablet&api_version=v5.85&authpn=lagash&authpt=4F8227G1cW0s0az&format=json®ion=mexico"); jsonResponse.EnsureSuccessStatusCode(); // Throw on error code. r = await jsonResponse.Content.ReadAsAsync <MovieDetailResponse>(); } catch (Exception ex) { throw ex; } return(r); }
public JObject GetMovieDetailObject(MovieDetailResponse movie) { var rating = GetRating(movie); var docJson = @" { '@id': 'http://example.org/movies', 'http://schema.org/name': '" + movie.Title.EscapeString() + @"', '@type': 'http://schema.org/Movie', 'http://schema.org/image': {'@id': '" + movie.Poster + @"'}, 'http://schema.org/dateCreated' : '" + movie.Year.ValidateYear() + @"', 'http://schema.org/director': '" + movie.Director.EscapeString() + @"', 'http://schema.org/review': { '@type': 'http://schema.org/Review', 'http://schema.org/reviewRating': { '@type': 'http://schema.org/Rating', 'http://schema.org/ratingValue': '" + rating.Value + @"' }, 'http://schema.org/author': { '@type': 'http://schema.org/Person', 'http://schema.org/name': '" + rating.Source + @"' }, 'http://schema.org/reviewBody': '" + rating.Source + @"' }, 'http://schema.org/actor': ["; docJson = AddActorsArray(movie, docJson); docJson += "]}"; var doc = JObject.Parse(docJson.UnEscapeString()); var context = JObject.Parse(_movieContextJson); var opts = new JsonLdOptions(); var compacted = JsonLdProcessor.Compact(doc, context, opts); return(compacted); }