public IActionResult GetBookById(int bookId) { var ComplBViewModel = new CompleteBookViewModel { AuthorCountry = new Dictionary <AuthorDto, CountryDto>(), ReviewReviewer = new Dictionary <ReviewDto, ReviewerDto>() }; var book = _bookRepository.GetBookById(bookId); if (book == null) { ModelState.AddModelError("", "Some kind of error during getting a book"); book = new BookDto(); } var categories = _categoryRepository.GetAllCategoriesOfABook(bookId); if (categories.Count() <= 0) { ModelState.AddModelError("", "Some kind of error during getting categories"); } var rating = _bookRepository.GetBookRating(bookId); ComplBViewModel.Book = book; ComplBViewModel.Categories = categories; ComplBViewModel.Rating = rating; var authors = _authorRepository.GetAuthorsOfABook(bookId); if (authors.Count() <= 0) { ModelState.AddModelError("", "Some kind of error during getting categories"); } foreach (var author in authors) { var country = _countryRepository.GetCountryOfAnAuthor(author.Id); ComplBViewModel.AuthorCountry.Add(author, country); } var reviews = _reviewRepository.GetReviewsOfABook(bookId); if (reviews.Count() <= 0) { ViewBag.ReviewsMessage = "There are no reviews yet"; } foreach (var review in reviews) { var reviewer = _reviewerRepository.GetReviewerOfAReview(review.Id); ComplBViewModel.ReviewReviewer.Add(review, reviewer); } if (!ModelState.IsValid) { ViewBag.BookMessage = "Teher was an error retrieving a complete book record"; } return(View(ComplBViewModel)); }
public IActionResult GetBookById(int bookid) { var CompleteBookViewModel = new CompleteBookViewModel() { ReviewsReviewers = new Dictionary <ReviewDto, ReviewerDto>(), AuthorsCountries = new Dictionary <AuthorDto, CountryDto>() }; var book = bookRepositoryGUI.GetBookByID(bookid); if (book == null) { ModelState.AddModelError(string.Empty, "Some kind of error Getting Books"); book = new BookDto(); } var categories = categoryRepositoryGUI.GetAllCategoriesOfABook(bookid); if (categories.Count() <= 0) { ModelState.AddModelError(string.Empty, "Some kind of Error Getting Categories"); } var rating = bookRepositoryGUI.GetBookRating(bookid); CompleteBookViewModel.Book = book; CompleteBookViewModel.Categories = categories; CompleteBookViewModel.Rating = rating; var authors = authorRepositoryGUI.GetAuthorsOfABook(bookid); if (authors.Count() <= 0) { ModelState.AddModelError(string.Empty, "Some kind of error Getting Authors"); } foreach (var author in authors) { var country = countryRepositoryGUI.GetCountryOfAuthor(author.Id); CompleteBookViewModel.AuthorsCountries.Add(author, country); } var reviews = reviewRepositoryGUI.GetReviewsOfABook(bookid); if (reviews.Count() <= 0) { ViewBag.ReviewMsg = $"No Review of {book.Id} "; } foreach (var review in reviews) { var reviewer = reviewerRepositoryGUI.GetReviewerOfAReview(review.id); CompleteBookViewModel.ReviewsReviewers.Add(review, reviewer); } if (!ModelState.IsValid) { ViewBag.bookMsg = "There is an Error Getting the Complete Book Record form the Database"; } return(View(CompleteBookViewModel)); }