public async Task <IActionResult> PostBook(BookForDetailedDto book) { if (book == null) { return(StatusCode(400)); } var bookToSave = _mapper.Map <Book>(book); if (!await _repo.AuthorExist(bookToSave.AuthorId)) { bookToSave.AuthorId = null; } if (book.Id == 0) { _repo.AddBook(bookToSave); } else { _repo.EditBook(bookToSave); } await _repo.SaveAll(); return(StatusCode(201, book)); }
public IActionResult GetBookForAuthor(Guid authorid) { try { if (!_libraryrepository.AuthorExist(authorid)) { return(NotFound()); } var Books = _libraryrepository.GetBooksForAuthor(authorid); var booksforauthors = Mapper.Map <IEnumerable <BookDto> >(Books); return(Ok(booksforauthors)); } catch (Exception ex) { return(StatusCode(500, "error")); } }
public IActionResult GetAuthor(Guid id) { try { if (!_libraryrepository.AuthorExist(id)) { // throw new Exception("as"); return(NotFound()); } var author = _libraryrepository.GetAuthor(id); var elautor = Mapper.Map <AuthorsDTO>(author); return(Ok(elautor)); } catch (Exception ex) { return(StatusCode(500, "Error interno del servidor")); } }