Beispiel #1
0
        public ActionResult NewBookSearchResults(NewBookSearchViewModel input)
        {
            GoogleBooksSearchResponse response = GoogleBooksAPIHandler.FullSearch(new Models.MiscModels.Search {
                inauthor = input.InAuthor, intitle = input.InTitle, isbn = input.ISBN, other = input.Other, subject = input.Subject
            });
            NewBookViewModel viewModel = new NewBookViewModel {
                Books = Utilities.GoogleBookSearchUtilities.ParseSearchResponse(response), ClubId = input.ClubId
            };

            return(View(viewModel));
        }
Beispiel #2
0
        private List <List <Book> > GetBooksByAuthor(List <Author> authors)
        {
            List <List <Book> > AuthorBooks            = new List <List <Book> >();
            List <GoogleBooksSearchResponse> responses = new List <GoogleBooksSearchResponse>();

            Parallel.ForEach(authors, (author) =>
            {
                GoogleBooksSearchResponse response = GoogleBooksAPIHandler.FullSearch(new Search {
                    inauthor = author.Name
                });
                responses.Add(response);
            });
            foreach (GoogleBooksSearchResponse response in responses)
            {
                AuthorBooks.Add(Utilities.GoogleBookSearchUtilities.ParseSearchResponse(response).ToList());
            }
            AuthorBooks = AuthorBooks.OrderByDescending(l => l.Count).ToList();
            return(AuthorBooks);
        }
Beispiel #3
0
        //Private Methods
        private BookDetailsViewModel GetBookDetailsViewModel(string id)
        {
            BookDetailsViewModel viewModel = new BookDetailsViewModel();

            viewModel.Book         = Utilities.GoogleBookSearchUtilities.ParseSingleSearchResponse(GoogleBooksAPIHandler.SingleSearch(id).Result);
            viewModel.Reviews      = db.Reviews.Include("Member").Where(r => r.BookId == viewModel.Book.Id).ToList();
            viewModel.RelatedBooks = GetRelatedBooks(viewModel.Book);
            return(viewModel);
        }
Beispiel #4
0
        public ActionResult SearchResults(Search search)
        {
            GoogleBooksSearchResponse response = GoogleBooksAPIHandler.FullSearch(search);

            return(View(Utilities.GoogleBookSearchUtilities.ParseSearchResponse(response)));
        }
Beispiel #5
0
        public ActionResult NavBarSearchResults(string input)
        {
            GoogleBooksSearchResponse response = GoogleBooksAPIHandler.NavBarSearch(input);

            return(View("NavBarSearchResults", Utilities.GoogleBookSearchUtilities.ParseSearchResponse(response)));
        }
Beispiel #6
0
        public ActionResult NewBookDetails(string id, Guid clubId)
        {
            NewBookViewModel viewModel = new NewBookViewModel();

            viewModel.GoogleVolumeId = id;
            viewModel.ClubId         = clubId;
            viewModel.Book           = Utilities.GoogleBookSearchUtilities.ParseSingleSearchResponse(GoogleBooksAPIHandler.SingleSearch(viewModel.GoogleVolumeId).Result);
            viewModel.Reviews        = db.Reviews.Include("Member").Where(r => r.BookId == viewModel.Book.Id).ToList();
            return(View(viewModel));
        }
Beispiel #7
0
 public ActionResult AddBookToCollection(string id)
 {
     return(View(Utilities.GoogleBookSearchUtilities.ParseSingleSearchResponse(GoogleBooksAPIHandler.SingleSearch(id).Result)));
 }