Exemple #1
0
        public static async Task <MovieDetailsDataModel> GetMovieDetailsDataTask(int id)
        {
            string  key = "ed47b05cca6dc603460f42899bea7008";
            string  url = "https://api.themoviedb.org/3/movie/" + id + "?api_key=" + key + "&language=en-US";
            int     NumberOfResults;
            dynamic results = await DataService.GetDataFromService(url).ConfigureAwait(false);

            NumberOfResults = ((JArray)results["genres"]).Count;

            MovieDetailsDataModel MovieDetails = new MovieDetailsDataModel();

            MovieDetails = new MovieDetailsDataModel
            {
                adult             = (bool)results["adult"],
                backdrop_path     = string.IsNullOrEmpty((string)results["backdrop_path"]) ? "0" : (string)results["backdrop_path"],
                budget            = (int)results["budget"],
                id                = (int)results["id"],
                title             = (string)results["title"],
                overview          = (string)results["overview"],
                poster_path       = string.IsNullOrEmpty((string)results["poster_path"]) ? "0" : (string)results["poster_path"],
                release_date      = (string)results["release_date"],
                revenue           = (int)results["revenue"],
                tagline           = string.IsNullOrEmpty((string)results["tagline"]) ? "0" : (string)results["tagline"],
                runtime           = (int)results["runtime"],
                status            = (string)results["status"],
                original_language = (string)results["original_language"],
                popularity        = ((int)results["popularity"]).ToString(),
            };

            for (int i = 0; i < NumberOfResults; i++)
            {
                MovieDetails.genres += (string)results["genres"][i]["name"] + " ";
            }
            return(MovieDetails);
        }
        public IActionResult Details(int id)
        {
            var user = User;

            try
            {
                var movie = _moviesService.GetMovieDetails(id);

                if (movie == null)
                {
                    return(RedirectToAction("ErrorNotFound", "Info"));
                }

                var movieDetailsDataModel = new MovieDetailsDataModel();

                movieDetailsDataModel.MovieDetails = movie.ToDetailsModel();
                movieDetailsDataModel.SidebarData  = _sidebarService.GetSidebarData();

                return(View(movieDetailsDataModel));
            }
            catch (Exception)
            {
                return(RedirectToAction("ErrorGeneral", "Info"));
            }
        }
        private async void GetMovieDetailsAsync(int movieId)
        {
            MovieDetails = await GetMovies.GetMovieDetailsDataTask(movieId);

            FindViewById <TextView>(Resource.Id.MovieName).Text        = MovieDetails.title;
            FindViewById <TextView>(Resource.Id.MovieYear).Text        = MovieDetails.release_date;
            FindViewById <TextView>(Resource.Id.Runtime).Text          = MovieDetails.runtime.ToString() + "min";
            FindViewById <TextView>(Resource.Id.popularity).Text       = MovieDetails.popularity;
            FindViewById <TextView>(Resource.Id.RevenueView).Text      = "$" + MovieDetails.revenue.ToString();
            FindViewById <TextView>(Resource.Id.OriginalLanguage).Text = MovieDetails.original_language;
            FindViewById <TextView>(Resource.Id.Genres).Text           = MovieDetails.genres;
            FindViewById <TextView>(Resource.Id.Status).Text           = MovieDetails.status;
            FindViewById <TextView>(Resource.Id.AboutMovie).Text       = MovieDetails.overview;

            ImageView Image = FindViewById <ImageView>(Resource.Id.Backdrop);

            Picasso.With(this).Load("https://image.tmdb.org/t/p/original" + MovieDetails.backdrop_path).Into(Image);
        }