public async Task <ActionResult <BookDetailResource> > PutBook(int id, BookSaveResource resource) { Book book = _mapper.Map <Book>(resource); BookResponse response = await _BookService.UpdateAsync(id, book); if (!response.Success) { return(BadRequest(response.Message)); } BookDetailResource updatedResource = _mapper.Map <BookDetailResource>(response.Book); return(Ok(updatedResource)); }
public async Task <ActionResult <BookDetailResource> > PostBook(BookSaveResource resource) { Book book = _mapper.Map <Book>(resource); BookResponse response = await _BookService.SaveAsync(book); if (!response.Success) { return(BadRequest(response.Message)); } BookDetailResource savedResource = _mapper.Map <BookDetailResource>(response.Book); return(CreatedAtAction(nameof(GetBook), new { id = savedResource.Id }, savedResource)); }
public async Task <IActionResult> Put(int id, [FromBody] BookSaveResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var book = _mapper.Map <BookSaveResource, Book>(resource); var result = await _bookService.UpdateAsync(id, book); if (!result.Success) { return(BadRequest(result.Message)); } var bookResource = _mapper.Map <Book, BookResource>(result.Book); return(Ok(bookResource)); }
public async Task <IActionResult> UpdateBook(int id, [FromBody] BookSaveResource bookResource) { if (!ModelState.IsValid) { return(BadRequest()); } var book = await repository.GetBook(id); mapper.Map <BookSaveResource, Book>(bookResource, book); await unitOfWork.CompleteAsync(); book = await repository.GetBook(book.ID); var result = mapper.Map <Book, BookWithAuthorsResource>(book); return(Accepted(result)); }
public async Task <IActionResult> CreateBook([FromBody] BookSaveResource bookResource) { if (!ModelState.IsValid) { return(BadRequest()); } var book = mapper.Map <BookSaveResource, Book>(bookResource); book.User = userManager.GetUserAsync(HttpContext.User).Result; repository.Add(book); await unitOfWork.CompleteAsync(); book = await repository.GetBook(book.ID); var result = mapper.Map <Book, BookWithAuthorsResource>(book); return(Created(nameof(GetBook), result)); }