Example #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);
        }
Example #2
0
        public bool checkForFine(BookItem bookitem)
        {
            BookLending lending = BookLending.FetchLendingDetails(bookitem.getBarcode());
            Date        dueDate = lending.dueDate;
            Date        today   = new Date();

            if (today.CompareTo(dueDate) > 0)
            {
                int extradays = Date.Today() - dueDate;
                Fine.CollectForFine(this.getUserId(), extradays);
            }
        }
Example #3
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);
        }
Example #4
0
 public bool reserveBookItem(BookItem bookitem);
Example #5
0
 public bool AddBookItem(BookItem bookitem);