コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <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);
        }