Esempio n. 1
0
        public async Task <ActionResult <Book> > Update([FromRoute] string id, [FromBody][Bind("Id,ISBN,InPublication,PageCount,Price,ProductCategory,Title")] Book book)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != book.Id || id == null)
            {
                return(BadRequest());
            }

            try
            {
                BookDBServices service = new BookDBServices(dynamoDBClient);
                Book           auxBook = await service.GetBookAsync(id);

                if (auxBook == null)
                {
                    return(NotFound());
                }
                Book newBook = await service.UpdateBookAsync(book);

                return(Ok(newBook));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
Esempio n. 2
0
        public async Task <ActionResult <IEnumerable <Book> > > GetBooks()
        {
            BookDBServices service = new BookDBServices(dynamoDBClient);
            List <Book>    books   = await service.GetBooksAsync();

            return(Ok(books));
        }
Esempio n. 3
0
        public async Task <ActionResult <Book> > Delete([FromRoute] string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            try
            {
                BookDBServices service = new BookDBServices(dynamoDBClient);
                Book           book    = await service.GetBookAsync(id);

                if (book == null)
                {
                    return(NotFound());
                }
                await service.DeleteBookAsync(book);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
Esempio n. 4
0
        public async Task <ActionResult <Book> > GetBook([FromRoute] string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            BookDBServices service = new BookDBServices(dynamoDBClient);
            Book           book    = await service.GetBookAsync(id);

            if (book == null)
            {
                return(NotFound());
            }

            return(Ok(book));
        }
Esempio n. 5
0
        public async Task <ActionResult <Book> > Create([FromBody][Bind("Id,ISBN,InPublication,PageCount,Price,ProductCategory,Title")] Book book)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                BookDBServices service = new BookDBServices(dynamoDBClient);
                Book           newBook = await service.CreateBook(book);

                return(StatusCode(StatusCodes.Status201Created, book));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }