public async Task <IActionResult> Detail(string movieId)
        {
            var user = await _userManager.GetUserAsync(User);

            bool   isVipUser       = false;
            bool   isFavoriteMovie = false;
            double userRaiting     = 0;

            if (user != null)
            {
                isVipUser       = _paymentService.CheckUserVipAccount(user.Id);
                isFavoriteMovie = _movieFavoritesService.CheckMovieFavoritesByUsreId(user.Id, movieId);
                //get lst RatedMovie
                RatedMoviesResponse raitedMovie  = new RatedMoviesResponse();
                MovieRequest        ratedRequest = new MovieRequest();
                ratedRequest.Api_key          = _api_key;
                ratedRequest.Guest_session_id = user.Guest_session_id;
                raitedMovie = await _userSessionService.GetRatedMovie(ratedRequest, "created_at.desc");

                if (raitedMovie.Results.Count() > 0)
                {
                    var movie = raitedMovie.Results.FirstOrDefault(x => x.Id.Equals(movieId));
                    if (movie != null)
                    {
                        userRaiting = movie.Rating;
                    }
                }
            }
            ;
            ViewBag.CurrentLoginId = user == null ? "" : user.Id;
            ViewBag.IsUserVip      = isVipUser;
            ViewBag.IsFavorite     = isFavoriteMovie;
            // ViewBag.GuestSession = user.Guest_session_id;
            #region request Model
            MovieRequest request = new MovieRequest();
            request.Api_key  = _api_key;
            request.Language = "en-US";
            request.Movie_id = movieId;
            //
            MovieRequest requestCast = new MovieRequest();
            requestCast.Api_key  = _api_key;
            requestCast.Movie_id = movieId;
            //
            MovieRequest requestKeyword = new MovieRequest();
            requestKeyword.Api_key  = _api_key;
            requestKeyword.Movie_id = movieId;
            //
            MovieRequest requestVideo = new MovieRequest();
            requestVideo.Api_key  = _api_key;
            requestVideo.Movie_id = movieId;
            requestVideo.Language = "en-US";
            //
            MovieRequest requestImage = new MovieRequest();
            requestImage.Api_key  = _api_key;
            requestImage.Movie_id = movieId;
            //
            MovieRequest requestRecommendations = new MovieRequest();
            requestRecommendations.Api_key  = _api_key;
            requestRecommendations.Movie_id = movieId;
            #endregion

            var lstKeywordMovies = await _movieService.GetKeywordMovies(requestKeyword);

            var lstVideoMovies = await _movieService.GetVideosMovies(requestVideo);

            var lstImageMovies = await _movieService.GetImagesMovies(requestImage);

            //
            int num             = _random.Next(100);
            var lstMoviesRandom = await GetPopularMovies(num);

            //var lstRecommendations = await movieService.GetRecommendationsMovies(requestRecommendations);
            var movieDetail = await _movieService.GetMovieDetail(request);

            MovieCreditsResponse lstCredits = await _movieService.GetCreditsMovies(requestCast);

            ViewBag.Credits              = lstCredits;
            ViewBag.Director             = lstCredits.Crew.FirstOrDefault(x => x.Job.Equals("Director"));
            ViewBag.Writer               = lstCredits.Crew.Where(x => x.Job.Equals("Screenplay")).ToList();
            ViewBag.Editting             = lstCredits.Crew.Where(x => x.Department.Equals("Editing")).ToList();
            ViewBag.Keywords             = lstKeywordMovies;
            ViewBag.Videos               = lstVideoMovies.Results.Take(8).ToList();
            ViewBag.Backdrops            = lstImageMovies.Backdrops.Take(14).ToList();
            ViewBag.Posters              = lstImageMovies.Posters.Take(7).ToList();
            ViewBag.RecommendationMovies = lstMoviesRandom.Results.Take(5).ToList();
            //ViewBag.RecommendationMovies = lstRecommendations.Results.Take(5).ToList();
            //check rated movie
            ViewBag.UserRating = userRaiting;


            return(View("Detail", movieDetail));
        }