コード例 #1
0
        public bool checkedoutBookItem(BookItem bookitem)
        {
            // First check if quota maxed out
            if (this.gettotalBooksCheckedOut() >= Contants.MAX_BOOK_LEND)
            {
                Console.WriteLine("Lend quota maxed out");
                return(false);
            }

            BookReservation reservation = BookReservation.FetchReservationDetails(bookitem.getBarcode());

            if (reservation != null && reservation.getUserId() != this.getUserId())
            {
                Console.WriteLine("Reserved by other user");
                return(false);
            }
            else if (reservation != null && reservation.getUserId() == this.getUserId())
            {
                Console.WriteLine("Update reservation status");
                reservation.updateStatus(ReservationStatus.completed);
            }

            if (!bookitem.Checkout(this.getUserId()))
            {
                return(false);
            }

            this.incrementtotalBooksCheckedOut();
            return(true);
        }
コード例 #2
0
        public bool ReturnBook(BookItem bookitem)
        {
            this.checkForFine(bookitem);
            BookReservation BookReservation = BookReservation.FetchReservationDetails(bookitem.getBarcode());

            if (BookReservation != null)
            {
                BookItem.updateStatus(BookStatus.Reserved);
                BookReservation.SendBookAvailableNotification();
            }

            bookitem.updateStatus(BookStatus.avaialble);
        }