public async Task <IActionResult> Edit(int id) { ReviewListingModel reviewModel = null; var result = await this.Handle( async() => { var review = await this.reviewService.Details(id); reviewModel = mapper.Map <ReviewListingModel>(review); }); if (result && reviewModel != null) { var books = await this.bookService.All(); var bookList = books .Select(b => new SelectListItem { Value = $"{b.Id}", Text = $"{b.Title}" }) .ToList(); reviewModel.Books = bookList; return(View(reviewModel)); } return(RedirectToAction(nameof(ReviewsController.All))); }
public async Task <IActionResult> Add(ReviewListingModel model) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Add))); } var bookExists = await this.bookService.Exists(model.BookId); if (!bookExists) { ModelState.AddModelError(nameof(ReviewListingModel.BookId), "Book does not exist."); return(View(model)); } var book = await this.bookService.Details(model.BookId); var review = new ReviewListingServiceModel { Title = model.Title, Description = model.Description, AuthorId = userService.UserId, Author = userService.Email, BookId = model.BookId, BookName = book.Title }; return(await this.Handle( async() => { await this.reviewService.Add(review); }, success : RedirectToAction(nameof(ReviewsController.All)), failure : View("../Home/Index", model))); }
public async Task <IActionResult> Delete(int id) { ReviewListingModel reviewModel = null; var result = await this.Handle( async() => { var review = await this.reviewService.Details(id); reviewModel = mapper.Map <ReviewListingModel>(review); }); if (result && reviewModel != null) { return(View(reviewModel)); } return(RedirectToAction(nameof(ReviewsController.All))); }
public async Task <IActionResult> Add() { var books = await this.bookService.All(); var bookList = books .Select(b => new SelectListItem { Value = $"{b.Id}", Text = $"{b.Title}" }) .ToList(); var review = new ReviewListingModel { Books = bookList }; return(View(review)); }