Beispiel #1
0
        public async Task <ActionResult <BooksResponsePostModel> > Post(Guid id, [FromBody] RentBookModel model)
        {
            var response = new BooksResponsePostModel();
            var Book     = await Task.FromResult(_context.Books.FirstOrDefault(x => x.Id == model.BookId && !x.Excluded));

            if (Book == null)
            {
                response.Success = false;
                response.Errors  = new List <Error> {
                    new Error {
                        code = "01", message = "o Livro não foi encontrado tente novamente!"
                    }
                };
                return(await Task.FromResult(BadRequest(response)));
            }
            Book.Rented = false;
            _context.Books.Update(Book);
            if (_context.RentBooks.Any(x => x.BookId == model.BookId && x.UserId == model.UserId))
            {
                var rent = _context.RentBooks.FirstOrDefault(x => x.BookId == model.BookId && x.UserId == model.UserId);
                rent.Delivery();
                _context.RentBooks.Update(rent);
            }
            _context.SaveChanges();

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

            return(Ok(response));
        }
        public async Task <ActionResult <BooksResponsePostModel> > GetById([FromRoute] string id)
        {
            var response = new BooksResponsePostModel();

            if (!string.IsNullOrEmpty(id))
            {
                var guidId = Guid.Parse(id);
                if (_context.Books.Any(x => !x.Excluded && x.Id == guidId))
                {
                    response.Success = true;
                    response.Result  = await Task.FromResult(_context.Books.FirstOrDefault(x => !x.Excluded && x.Id == guidId));
                }
                else
                {
                    response.Success = false;
                }
            }
            if (!response.Success)
            {
                response.Errors = new List <Error> {
                    new Error {
                        code = "03", message = "Não foi possivel encontrar o Livro"
                    }
                };
                return(await Task.FromResult(BadRequest(response)));
            }

            return(Ok(response));
        }
        public async Task <ActionResult <BooksResponsePostModel> > Post([FromBody] BookModel model)
        {
            var response = new BooksResponsePostModel();

            if (!string.IsNullOrEmpty(model.Title))
            {
                _context.Books.Add(model.book());
                await _context.SaveChangesAsync();

                var book = _context.Books.FirstOrDefault(x => x.Title == model.Title);
                response.Success = true;
                response.Result  = _context.Books.FirstOrDefault(x => x.Title == model.Title);
                return(Ok(response));
            }
            if (!response.Success)
            {
                response.Errors = new List <Error> {
                    new Error {
                        code = "02", message = "Não foi possivel Cadastra 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)));
        }
        public async Task <ActionResult <BooksResponsePostModel> > Put([FromRoute] string id, [FromBody] BookPutModel model)
        {
            var response = new BooksResponsePostModel();

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

                response.Success = true;
                response.Result  = _context.Books.FirstOrDefault(x => x.Id.ToString() == id);
                return(Ok(response));
            }
            if (!response.Success)
            {
                response.Errors = new List <Error> {
                    new Error {
                        code = "02", message = "Não foi possivel Cadastra 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)));
        }