using System.Collections.Generic; using BuecherwurmAPI.Models; using Microsoft.AspNetCore.Mvc; using System.Linq; //using Microsoft.EntityFrameworkCore; namespace BuecherwurmAPI.Controllers { [Route("api/katalog") ] [ApiController] public class KatalogController :ControllerBase { private readonly KatalogModel _repository; public KatalogController (ICatalogue repository) { _repository= (KatalogModel)repository; } // GET Katalog [HttpGet] public ActionResult> GetAllBooks() { var books =_repository.GetAllBooks(); return Ok(books); } // POST Katalog [HttpPost] public ActionResult AddBook(BookPost book) { var id = _repository.AddBook(book); return Ok(new Book { Name = book.Name, Author= book.Author, Country= book.Country, Link= book.Link, Language= book.Language, Pages= book.Pages, Year=book.Year, ProductId = id, Category= book.Category, ImageLink =book.ImageLink, LendTime =book.LendTime, LendType = book.LendType }); } // GET katalog/{id} [HttpGet("{id}")] public ActionResult GetBookByID(long id) { var book = _repository.GetBookById(id); if (book != null) { return Ok(book); } return NoContent(); } // PUT Katalog/{id} [HttpPut("{id}")] public ActionResult EditBook(long id, Book book) { _repository.EditBook(id, book); return Ok(book); } // DELETE katalog/{id} [HttpDelete("{id}")] public ActionResult DeleteBook (long id) { var book = _repository.GetBookById(id); if(book == null) { return NotFound(); } _repository.DeleteBook(id); return NoContent(); } } }