コード例 #1
0
        public async Task <ActionResult <BooksResponseBoolModel> > Post([FromBody] RentBookModel model)
        {
            var response = new BooksResponseBoolModel();
            var Book     = await Task.FromResult(_context.Books.FirstOrDefault(x => x.Id == model.BookId && !x.Excluded));

            if (Book.Rented)
            {
                response.Success = false;
                response.Errors  = new List <Error> {
                    new Error {
                        code = "01", message = "o Livro esta indisponível"
                    },
                    new Error {
                        code = "02", message = "Já foi alugado."
                    }
                };
                return(await Task.FromResult(BadRequest(response)));
            }
            _context.Books.Update(Book.Rent());

            var rent = model.MapperBook();

            _context.RentBooks.Add(rent);
            _context.SaveChanges();

            response.Success = true;
            response.Result  = true;

            return(Ok(response));
        }
コード例 #2
0
        public async Task <ActionResult <BooksResponseBoolModel> > Delete([FromRoute] string id)
        {
            var response = new BooksResponseBoolModel();

            if (!string.IsNullOrEmpty(id) && _context.Books.Any(x => !x.Excluded && x.Id.ToString() == id))
            {
                var book = _context.Books.SingleOrDefault(x => !x.Excluded && x.Id.ToString() == id);
                book.Deleted();
                _context.Books.Update(book);
                await _context.SaveChangesAsync();

                response.Success = true;
                response.Result  = true;
                return(Ok(response));
            }
            if (!response.Success)
            {
                response.Errors = new List <Error> {
                    new Error {
                        code = "02", message = "Não foi possivel remover o Livro"
                    }
                };
                return(await Task.FromResult(BadRequest(response)));
            }

            response.Errors = new List <Error> {
                new Error {
                    code = "01", message = "Dados Enviados são inválidos"
                }
            };
            return(await Task.FromResult(BadRequest(response)));
        }