public async Task <IActionResult> Index() { var user = await _userManager.GetUserAsync(User); var lstNowPlayingMovies = await GetNowPlayingMovies(); bool isVipUser = false; if (user != null) { isVipUser = _paymentService.CheckUserVipAccount(user.Id); // favorites var isFavoriteMovie = false; int count = 0; foreach (var check in lstNowPlayingMovies.Results) { isFavoriteMovie = _movieFavoritesService.CheckMovieFavoritesByUsreId(user.Id, check.Id.ToString()); if (isFavoriteMovie) { lstNowPlayingMovies.Results[count].isMovieFavorites = true; } count++; } } ; ViewBag.IsUserVip = isVipUser; ViewBag.CurrentLoginId = user == null ? "" : user.Id; if (isVipUser) { ViewBag.lstUpComing = await GetUpcomingMovies(); ViewBag.lstTopRating = await GetTopRateMovies(); ViewBag.lstWeekTrending = await GetWeekTrendingMovies(); } ViewBag.lstGenres = await GetlstGenres(); ViewBag.lstNowPlaying = lstNowPlayingMovies; ViewBag.lstPopular = await GetPopularMovies(); ViewBag.lstDayTrending = await GetDayTrendingMovies(); return(View(await _context.Movies.ToListAsync())); }
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)); }