Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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));
        }