Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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));
        }