public MediaDetailsViewModel(int mediaId) { Item = CatalogueService.GetMediaById(mediaId); Reviews = ReviewService.GetReviewsForMediaId(mediaId); if (Item.RatingCount > 0) { AverageRating = (float)Item.RatingSum / Item.RatingCount; } }
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)); }
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 })); }
public Media GetMediaById(int id) { return(CatalogueService.GetMediaById(id)); }
/* * 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)); }