/// <summary> /// 转移图书 /// </summary> /// <param name="model">借阅信息</param> /// <param name="userId">当前借阅用户</param> /// <returns>true or false</returns> public bool Transfer(BorrowBookModel model, int userId) { if (model == null) { throw new InvalidOperationException("图书借阅信息无效。"); } using (var dbContext = new MissionskyOAEntities()) { //当前用户的借阅信息失效 var current = dbContext.BookBorrows.FirstOrDefault( it => it.BookId == model.BookId && it.UserId == userId && it.Status == (int)UserBorrowStatus.Borrowing); if (current != null) { current.Status = (int)UserBorrowStatus.Returned; } //转移图书到其它用户 if (model.Reader.HasValue && DoBorrow(dbContext, model, model.Reader.Value)) { dbContext.SaveChanges(); } } return(true); }
public BorrowBookModel ShowBorrowBook(int BookID) { var Book = context.BorrowedBooks.Find(BookID); BorrowBookModel NBook = new BorrowBookModel(); NBook.BorrowedBookID = Book.BorrowedBookID; NBook.AutherName = Book.AutherName; NBook.Title = Book.Title; NBook.PublicherName = Book.PublicherName; NBook.NumberOfPage = Book.NumberOfPage; NBook.Image = Book.Image; return(NBook); }
public ApiResponse <bool> Transfer(BorrowBookModel model) { if (model == null) { throw new Exception("无效的借阅信息。"); } var response = new ApiResponse <bool>() { Result = this.BookService.Transfer(model, this.Member.Id) }; return(response); }
/// <summary> /// 借阅图书 /// </summary> /// <param name="model">借阅信息</param> /// <param name="userId">借阅用户</param> /// <returns>true or false</returns> public bool Borrow(BorrowBookModel model, int userId) { if (model == null) { throw new InvalidOperationException("图书借阅信息无效。"); } using (var dbContext = new MissionskyOAEntities()) { if (DoBorrow(dbContext, model, userId)) { dbContext.SaveChanges(); } } return(true); }
public Boolean PostForBorroweBook(BorrowBookModel book) { BorrowedBook Bbook = new BorrowedBook(); Bbook.Title = book.Title; Bbook.AutherName = book.AutherName; Bbook.PublicherName = book.PublicherName; Bbook.NumberOfPage = book.NumberOfPage; Bbook.Image = book.Image; Bbook.TimeOfPost = DateTime.Now; Bbook.Request = false; Bbook.ISborrwed = false; Bbook.UserID = null; context.BorrowedBooks.Add(Bbook); context.SaveChanges(); return(true); }
/// <summary> /// 借书 /// </summary> /// <param name="dbContext">数据库上下文对象</param> /// <param name="model">图书借阅信息</param> /// <param name="userId">借阅用户</param> /// <returns>是否借阅成功</returns> private bool DoBorrow(MissionskyOAEntities dbContext, BorrowBookModel model, int userId) { if (model == null) { throw new InvalidOperationException("无效借阅信息"); } if (model.ReturnDate.CompareTo(DateTime.Now) < 1) { throw new InvalidOperationException("归还日期必须大于当前日期"); } bool isAllowBrrow = false; if (model.BookId != null && model.BookId > 0) { var book = dbContext.Books.FirstOrDefault(it => it.Id == model.BookId); if (book == null) { throw new InvalidOperationException("无此图书"); } isAllowBrrow = AllowBorrow(book.ToModel()); book.Status = (int)BookStatus.Borrowed; book.Reader = userId; if (isAllowBrrow) { //借阅 var bookBorrow = new BookBorrow() { BookId = model.BookId, UserId = userId, BorrowDate = DateTime.Now, ReturnDate = model.ReturnDate, Status = (int)UserBorrowStatus.Borrowing }; dbContext.BookBorrows.Add(bookBorrow); dbContext.SaveChanges(); return(true); } } if (!string.IsNullOrEmpty(model.BarCode)) { var book = dbContext.Books.Where(it => !string.IsNullOrEmpty(it.BarCode) && it.BarCode.Equals(model.BarCode, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); if (book == null) { throw new InvalidOperationException("无此图书"); } isAllowBrrow = AllowBorrow(book.ToModel()); book.Status = (int)BookStatus.Borrowed; book.Reader = userId; if (isAllowBrrow) { //借阅 var bookBorrow = new BookBorrow() { BookId = book.Id, UserId = userId, BorrowDate = DateTime.Now, ReturnDate = model.ReturnDate, Status = (int)UserBorrowStatus.Borrowing }; dbContext.BookBorrows.Add(bookBorrow); dbContext.SaveChanges(); return(true); } } return(false); }