public IActionResult Add(int id, HomeDetailsViewModel model) { var book = bookRepository.GetBook(id); if (ModelState.IsValid) { Review newReview = new Review { BookId = book.Id, ReviewComments = model.Review.ReviewComments, Rating = model.Review.Rating, Book = model.Book, Id = model.ReviewId, }; reviewRepository.Add(newReview); reviewRepository.GetAllReviews().Where(a => a.BookId == book.Id).ToList(); var book5 = bookRepository.GetBook(id).Reviews.Where(p => p.Rating == 5).Count(); var book4 = bookRepository.GetBook(id).Reviews.Where(p => p.Rating == 4).Count(); var book3 = bookRepository.GetBook(id).Reviews.Where(p => p.Rating == 3).Count(); var book2 = bookRepository.GetBook(id).Reviews.Where(p => p.Rating == 2).Count(); var book1 = bookRepository.GetBook(id).Reviews.Where(p => p.Rating == 1).Count(); float total = ((book1 * 1) + (book2 * 2) + (book3 * 3) + (book4 * 4) + (book5 * 5)); var totalReviews = bookRepository.GetBook(id).Reviews.Count(); float average = total / totalReviews; BookAverageRating AvgRating = new BookAverageRating { AverageRating = average, BookId = book.Id }; var avgRating = bookAverageRatingRepository.GetAllAverageRating().Where(a => a.BookId == id).Count(); /*BookAverageRating newAvgRating = new BookAverageRating * { * Id = book.BookAverageRating.Id * };*/ if (avgRating == 0) { bookAverageRatingRepository.Add(AvgRating); } else { bookAverageRatingRepository.Delete(AvgRating.Id); bookAverageRatingRepository.Add(AvgRating); } return(RedirectToAction("List", new { id = newReview.BookId })); } return(View()); }
public ViewResult Index() { BookCarrouselViewModel model = new BookCarrouselViewModel() { Books = _bookRepository.GetAllBooks(), Reviews = reviewRepository.GetAllReviews(), BookAverageRatings = bookAverageRatingRepository.GetAllAverageRating() }; return(View(model)); }