Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        /// <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);
            }
        }
Exemplo n.º 4
0
        private Rating GetRating(MovieDetailResponse movie)
        {
            if (movie.Ratings != null && movie.Ratings.Count > 0)
            {
                return(movie.Ratings[0]);
            }

            return(new Rating());
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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&region=mexico");

                jsonResponse.EnsureSuccessStatusCode(); // Throw on error code.
                r = await jsonResponse.Content.ReadAsAsync <MovieDetailResponse>();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(r);
        }
Exemplo n.º 7
0
        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);
        }