예제 #1
0
        public IActionResult UpdateBookForAuthor(Guid authorId,
            Guid bookId,
            BookForUpdateDto book)
        {
            if (!_restApiRepository.AuthorExists(authorId))
            {
                return NotFound();
            }
            var bookForAuthorFromRepo = _restApiRepository.GetBook(authorId, bookId);
            if (bookForAuthorFromRepo == null)
            {
                var bookToAdd = _mapper.Map<Book>(book);
                bookToAdd.Id = bookId;
                _restApiRepository.AddBook(authorId, bookToAdd);
                _restApiRepository.Save();

                var bookToReturn = _mapper.Map<BookDto>(bookToAdd);
                return CreatedAtRoute("GetBookForAuthor",
                    new { authorId, bookId = bookToReturn.Id },
                    bookToReturn);
            }

            _mapper.Map(book, bookForAuthorFromRepo);
            _restApiRepository.UpdateBook(bookForAuthorFromRepo);
            _restApiRepository.Save();

            return NoContent();
        }
예제 #2
0
 public void UpdateBook(Book book)
 {
     _restApiRepository.UpdateBook(book);
 }