public async Task <UserPurchaseResponseModel> GetAllPurchasesForUser(int id) { if (_currentUserService.UserId != id) { throw new HttpException(HttpStatusCode.Unauthorized, "You are not Authorized to View Purchases"); } var purchasedMovies = await _purchaseRepository.ListAllWithIncludesAsync( p => p.UserId == _currentUserService.UserId, p => p.Movie); var purchaseResponse = new UserPurchaseResponseModel() { UserId = id, PurchasedMovies = new List <UserPurchasedMovieResponseModel>(), }; foreach (var purchasedMovie in purchasedMovies) { purchaseResponse.PurchasedMovies.Add(new UserPurchasedMovieResponseModel() { Id = purchasedMovie.Movie.Id, Title = purchasedMovie.Movie.Title, Budget = purchasedMovie.Movie.Budget, PosterUrl = purchasedMovie.Movie.PosterUrl, Rating = purchasedMovie.Movie.Rating, }); } return(purchaseResponse); }
public async Task <IActionResult> Details(int id) { var userId = Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value); var movie = await _movieService.GetMovieById(id); var review = await _reviewService.GetMovieReview(userId, id); var PurchaseResponse = new UserPurchaseResponseModel() { movie = movie, IsMoviePurchased = await _purchaseService.IsMoviePurchased(userId, id), IsMovieReviewed = await _reviewService.IsMovieReviewed(userId, id), review = review, IsMovieFavorited = await _userFavoriteService.IsMovieFavorited(userId, id) }; return(View(PurchaseResponse)); }