Exemple #1
0
        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"));
        }
Exemple #3
0
        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"));
            }
        }