Пример #1
0
        public IActionResult BlockAuthorCreation(Guid id)
        {
            if (_authorService.AuthorExists(id))
            {
                return(new StatusCodeResult(StatusCodes.Status409Conflict));
            }

            return(NotFound());
        }
Пример #2
0
        public IActionResult GetBooksForAuthor(Guid authorId, [FromHeader(Name = "Accept")] string mediaType)
        {
            if (!_authorAppService.AuthorExists(authorId))
            {
                return(NotFound());
            }

            var booksForAuthor = _bookAppService.GetBooksByAuthorId(authorId);

            if (mediaType == "application/vnd.tmaturano.hateoas+json")
            {
                //HATEOAS we need to create a link for each group
                booksForAuthor = booksForAuthor.Select(book =>
                {
                    book = CreateLinksForBook(book);
                    return(book);
                });

                var wrapper = new LinkedCollectionResourceWrapperDto <BookOutputDto>(booksForAuthor);
                return(Ok(CreateLinksForBooks(wrapper)));
            }
            else
            {
                return(Ok(booksForAuthor));
            }
        }