using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using TestApplication.Data; using TestApplication.DTO; using System.Linq; using Microsoft.EntityFrameworkCore; namespace TestApplication.Controllers { [ApiController] [Route("[controller]")] public class BooksController : ControllerBase { private readonly Context _context; public BooksController(Context context) { _context = context; } [HttpGet] public async Task>> GetBooks() { var book = from books in _context.Book join book_descriptions in _context.Book_Description on books.id equals book_descriptions.book_id select new BookDTO { Book_id = books.id, Book_price = books.price, ISBN = books.isbn, Book_name = book_descriptions.book_name, Book_description = book_descriptions.book_description }; return await book.ToListAsync(); } [HttpGet("{id}")] public ActionResult GetBooks_byId(int id) { var book = from books in _context.Book join book_descriptions in _context.Book_Description on books.id equals book_descriptions.book_id select new BookDTO { Book_id = books.id, Book_price = books.price, ISBN = books.isbn, Book_name = book_descriptions.book_name, Book_description = book_descriptions.book_description }; var book_by_id = book.ToList().Find(x => x.Book_id == id); if (book_by_id == null) { return NotFound(); } return book_by_id; } } }