public IHttpActionResult PostUserIssuedBook(UserIssuedBook userIssuedBook) { var user = db.Users.SingleOrDefault(x => x.Id == userIssuedBook.UserID); user.LoanNumber = user.LoanNumber + 1; var book = db.Books.SingleOrDefault(x => x.ID == userIssuedBook.BookID); book.LoanCopy = book.LoanCopy + 1; if (user.LoanNumber > 2 || userIssuedBook.isIssued == false) { return(BadRequest("You are already borrowed 2 books, Return a book then you can borrow a new book!")); } if (book.BookCopy - book.LoanCopy == -1) { return(BadRequest("There are no books in stock!")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.UserIssuedBooks.Add(userIssuedBook); db.SaveChanges(); return(StatusCode(HttpStatusCode.Created)); }
public IHttpActionResult DeleteUserIssuedBook(int id) { UserIssuedBook userIssuedBook = db.UserIssuedBooks.Find(id); if (userIssuedBook == null) { return(NotFound()); } db.UserIssuedBooks.Remove(userIssuedBook); db.SaveChanges(); return(Ok(userIssuedBook)); }
public IHttpActionResult PutUserIssuedBook(int id, UserIssuedBook userIssuedBook) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != userIssuedBook.ID) { return(BadRequest()); } db.Entry(userIssuedBook).State = EntityState.Modified; try { var user = db.Users.SingleOrDefault(x => x.Id == userIssuedBook.UserID); user.LoanNumber = user.LoanNumber - 1; var book = db.Books.SingleOrDefault(x => x.ID == userIssuedBook.BookID); book.LoanCopy = book.LoanCopy - 1; db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!UserIssuedBookExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }