public async Task <IActionResult> AddReview(ReviewInputModel review) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User); var reviewer = user.FirstName + " " + user.LastName; _bookService.AddReview(review, user.Id, reviewer); return(Ok()); } return(BadRequest()); }
public async Task <IActionResult> Details(int BookId, DetailsInputViewModel model) { if (!ModelState.IsValid) { ViewData["ErrorMessage"] = "Error"; return(RedirectToAction("Details", "Home")); } var review = model.Input; review.BookId = BookId; _reviewService.ProcessReview(review); //Error handling var user = await _userManager.GetUserAsync(User); review.UserId = user.Id; _bookService.AddReview(review); return(RedirectToAction("Details", "Home")); }
public IActionResult Review(int bookId, int rating, string review) { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); bool ReviewSuccess = true; if (review != null) { ReviewSuccess = _bookService.AddReview(userId, bookId, review); } bool ratingSuccess = _bookService.UpdateBookRating(bookId, rating); if (ratingSuccess && ReviewSuccess) { return(RedirectToAction("Details", new { id = bookId })); } else { return(View("NotFound")); } }