Skip to content
Snippets Groups Projects

lms with ef

Merged Srujitha Vutla requested to merge srujitha into master
23 files
+ 319
217
Compare changes
  • Side-by-side
  • Inline
Files
23
using System.ComponentModel.DataAnnotations;
using LibraryManagementSystem.Api.Filters;
using LibraryManagementSystem.Db.Entities;
using LibraryManagementSystem.Services.DTO;
using LibraryManagementSystem.Services.Implementations;
using LibraryManagementSystem.Services.Interfaces;
using Microsoft.AspNetCore.Http;
using LibraryManagementSystem.Utilities;
using LibraryManagementSystem.Utilities.Enums;
using Microsoft.AspNetCore.Mvc;
namespace LibraryManagementSystem.Api.Controllers
@@ -12,11 +13,9 @@ namespace LibraryManagementSystem.Api.Controllers
[Route("api/[controller]")]
public class BookController : ControllerBase
{
private readonly DataContext _context;
private readonly IBookManager _bookManager;
public BookController(DataContext context,IBookManager bookManager)
{
_context=context;
_bookManager=bookManager;
}
[HttpGet("GetAllBooks")]
@@ -24,32 +23,46 @@ namespace LibraryManagementSystem.Api.Controllers
{
return Ok(_bookManager.GetAllBooks(pageNumber,pageSize));
}
[ServiceFilter(typeof(BookOrIdExistenceActionFilter))]
[HttpGet("GetBookById")]
[HttpGet("BookList")]
public IActionResult BookList()
{
return Ok(_bookManager.BookList());
}
[ServiceFilter(typeof(IdExistenceActionFilter))]
[HttpGet("GetBookById/{id}")]
public IActionResult GetBookById(int id)
{
return Ok(_bookManager.GetBookById(id));
}
[HttpPost("AddBook")]
public IActionResult AddBook([FromBody]BookDTO bookDTO)
public IActionResult AddBook([FromForm]BookDTO bookDTO)
{
_bookManager.AddBook(bookDTO);
return Ok("Book Added Successfully");
}
[HttpPatch("UpdateBook")]
[ServiceFilter(typeof(BookOrIdExistenceActionFilter))]
public IActionResult UpdateBook([FromForm]Book book)
[HttpPatch("UpdateBook/{id}")]
[ServiceFilter(typeof(IdExistenceActionFilter))]
public IActionResult UpdateBook(int id,[FromForm]BookDTO bookDTO)
{
_bookManager.UpdateBook(book);
_bookManager.UpdateBook(id,bookDTO);
return Ok();
}
[HttpPut("DeleteBook")]
[ServiceFilter(typeof(BookOrIdExistenceActionFilter))]
public ActionResult DeleteBook(int id)
[HttpPut("DeleteBook/({id})")]
[ServiceFilter(typeof(IdExistenceActionFilter))]
public IActionResult DeleteBook(int id)
{
_bookManager.DeleteBook(id);
return Ok();
}
[HttpPost("SearchBook")]
public IActionResult SearchBook([FromForm]SearchUtil searchUtil,int pageNumber, int pageSize)
{
return Ok(_bookManager.SearchBook(searchUtil,pageNumber,pageSize));
}
[HttpGet("SortBook")]
public IActionResult SortBook([Required]Property propertyName,[Required]Boolean ascending,int pageNumber, int pageSize)
{
return Ok(_bookManager.SortBook(propertyName,ascending,pageNumber,pageSize));
}
}
}
Loading