public MediaDetailsViewModel(int mediaId)
 {
     Item    = CatalogueService.GetMediaById(mediaId);
     Reviews = ReviewService.GetReviewsForMediaId(mediaId);
     if (Item.RatingCount > 0)
     {
         AverageRating = (float)Item.RatingSum / Item.RatingCount;
     }
 }
Esempio n. 2
0
        public ActionResult CreateReview(int mediaId)
        {
            var vm = new CreateReviewViewModel();

            vm.mediaId = mediaId;
            vm.Item    = CatalogueService.GetMediaById(mediaId);
            User currentUser = UserService.GetUserByUserName(HttpContext.User.Identity.Name);

            vm.ReviewerName     = currentUser.Name;
            vm.ReviewerLocation = currentUser.City + ", " + currentUser.Country;
            vm.ReviewDate       = DateTime.Now;

            return(View(vm));
        }
Esempio n. 3
0
        public ActionResult CreateReview(CreateReviewViewModel vm, int pMediaId)
        {
            vm.mediaId = pMediaId;
            Media media = CatalogueService.GetMediaById(pMediaId);

            vm.Item = media;
            User currentUser = UserService.GetUserByUserName(HttpContext.User.Identity.Name);

            vm.AuthorId = currentUser.Id;

            // Get the Review Message Type
            var reviewMessage = vm.toMessageType();

            // Update the rating sum and count on the media
            media.RatingCount++;
            media.RatingSum += vm.Rating;

            // Save the review to the database
            ServiceFactory.Instance.ReviewService.SubmitReview(reviewMessage, media, currentUser);

            // Go back to the media details page
            return(RedirectToAction("ShowDetails", "Details", routeValues: new { mediaId = pMediaId }));
        }
Esempio n. 4
0
 public Media GetMediaById(int id)
 {
     return(CatalogueService.GetMediaById(id));
 }
Esempio n. 5
0
 /*
  * Allows a logged in user to rate a media
  */
 public void RateMedia(bool pLike, int pMediaId, User pUser)
 {
     CatalogueService.RateMedia(pLike, pUser, CatalogueService.GetMediaById(pMediaId));
 }