/// <summary>
        /// Dummy object with existing isbn
        /// </summary>
        /// <returns>CreationBookDto</returns>
        private CreationBookDto ExistIsbnDummyCreationBookDto()
        {
            var book = new CreationBookDto
            {
                Title       = "Adaptive Code",
                Author      = "Gary McLean Hall",
                Description = "By applying this book’s principles, you can create code" +
                              " that accommodates new requirements and unforeseen scenarios without significant rewrites.",
                Isbn        = "978-0134494166",
                PublishedAt = new DateTime(2004, 10, 02)
            };

            return(book);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Post([FromBody] CreationBookDto book)
        {
            if (book == null)
            {
                return(NotFound("Book cannot be null"));
            }

            var bookExist = await _bookRepository.GetByIsbnAsync(book.Isbn);

            if (bookExist != null)
            {
                return(Conflict($"Book with isbn '{book.Isbn}' already exist"));
            }

            var finalBook = _mapper.Map <Book>(book);

            await _bookRepository.AddAsync(finalBook);

            return(CreatedAtRoute("GetBookByIsbn", new { isbn = book.Isbn }, finalBook));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Put(int id, [FromBody] CreationBookDto book)
        {
            try
            {
                var bookToUpdate = await _bookRepository.GetByIdAsync(id);

                if (bookToUpdate == null)
                {
                    return(NotFound($"Book with id '{id}' not found "));
                }

                _mapper.Map(book, bookToUpdate);

                await _bookRepository.SaveChangesAsync();
            }
            catch (Exception)
            {
                return(StatusCode(500, "Updating failure"));
            }

            return(NoContent());
        }