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))); }