コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }