Merge remote-tracking branch 'dorset/master'

This commit is contained in:
Aurelien Rebourg 2021-03-04 15:27:17 +00:00
commit 0629e702ce
5 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,62 @@
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<ActionResult<IEnumerable<BookDTO>>> 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<BookDTO> 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;
}
}
}

11
DTO/BookDTO.cs Normal file
View File

@ -0,0 +1,11 @@
namespace TestApplication.DTO
{
public class BookDTO
{
public int Book_id { get; set; }
public decimal Book_price { get; set; }
public string ISBN { get; set; }
public string Book_name { get; set; }
public string Book_description { get; set; }
}
}

View File

@ -7,5 +7,7 @@ namespace TestApplication.Data
{
public Context(DbContextOptions<Context> options) : base(options) {}
public DbSet<Values> Values {get; set;}
public DbSet<Book> Book {get; set;}
public DbSet<Book_description> Book_Description {get; set;}
}
}

12
Models/Book.cs Normal file
View File

@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace TestApplication.Models
{
public class Book
{
[Key]
public int id { get; set; }
public decimal price { get; set; }
public string isbn { get; set; }
}
}

View File

@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace TestApplication.Models
{
public class Book_description
{
[Key]
public int id { get; set; }
public int book_id { get; set; }
public string book_name { get; set; }
public string book_description { get; set; }
}
}