Пример #1
0
        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));
 }
Пример #3
0
 public List <ReviewView> GetAllReviewsForBook(ShortBookView book)
 {
     return(GetAllReviewsForBook(book.BookID));
 }
 public IEnumerable <GenreView> GetAllGenresForBook(ShortBookView book)
 {
     return(GetAllGenresForBook(book.BookID));
 }