public ShortBookView GetShortViewForEntity(Book b) { if (b == null) { return(null); } var authors = (from ba in _db.BookAuthors join a in _db.Authors on ba.AuthorID equals a.ID where ba.BookID == b.ID select new AuthorView { Birthday = a.Birthday, Description = a.Description, ID = a.ID, ImagePath = a.ImagePath, Name = a.Name }).DefaultIfEmpty(new AuthorView { Name = "Unknown Author" }); var ratings = (from br in _db.Reviews where br.BookID == b.ID select br.Rating).DefaultIfEmpty(0f); var genres = (from bg in _db.BookGenres join g in _db.Genres on bg.GenreID equals g.ID where bg.BookID == b.ID select new GenreView { ID = g.ID, Name = g.Name }).DefaultIfEmpty(new GenreView { Name = "Unknown Genre" }); ShortBookView book = new ShortBookView { BookID = b.ID, Authors = authors, BookCoverPath = b.CoverPath, BookPrice = b.Price, BookTitle = b.Title, BookRating = ratings, Genres = genres }; return(book); }
public IEnumerable <AuthorView> GetAllAuthorsForBook(ShortBookView book) { return(GetAllAuthorsForBook(book.BookID)); }
public List <ReviewView> GetAllReviewsForBook(ShortBookView book) { return(GetAllReviewsForBook(book.BookID)); }
public IEnumerable <GenreView> GetAllGenresForBook(ShortBookView book) { return(GetAllGenresForBook(book.BookID)); }