public async Task <IActionResult> ReturnBook(BookRentDto Book) { var parsed = ObjectId.TryParse(Book.BookId, out ObjectId parsedId); if (!parsed) { return(BadRequest()); } var result = await _rentalService.ReturnRentedBook(ObjectId.Parse((string)Request.Headers["user_id"]), parsedId); if (result is null) { return(BadRequest(new { message = "Book already returned" })); } else if (!result.Value) { return(BadRequest(new { message = "could not process request" })); } return(Ok(new { message = "request completed" })); }
public async Task <IActionResult> RentBook(BookRentDto Book) { var parsed = ObjectId.TryParse(Book.BookId, out ObjectId parsedId); if (!parsed) { return(BadRequest()); } var result = await _rentalService.RentBook(ObjectId.Parse((string)Request.Headers["user_id"]), parsedId); if (result is null) { return(BadRequest(new { message = "You can't borrow this book as you haven't returned the previous copy you borrowed" })); } if (!result.Value) { return(BadRequest(new { message = "could not process request" })); } return(Ok(new { message = "request completed" })); }