// 매개변수로 빌릴 책 객체와 빌리는 회원 객체를 받고 대출 처리를 한다. public void Rental(Data.Book book, Data.Member rentalMember) { if (book.Rental) // 책이 대출중이면 { Console.WriteLine("\n 현재 선택하신 책은 대출 중입니다."); inputProcessor.PressAnyKey(); Console.Clear(); } else // 책이 보유 중 이면 { // 대출 도서로 추가하고 대출 상태로 변경 RentalHistory rentalBook = new RentalHistory(book); rentalHistoryList.Add(rentalBook); rentalMember.rentalBookList.Add(book); book.Rental = true; Console.WriteLine("\n 대출되었습니다.\n 반납 기한은 " + rentalBook.getDueDay() + "까지 입니다."); inputProcessor.PressAnyKey(); Console.Clear(); } }
// 반납할 도서 객체와 반납 회원 객체를 받아 책을 반납처리한다. public void Return(Data.Book book, Data.Member rentalMember) { book.Rental = false; for (int i = 0; i < rentalHistoryList.Count; i++) { RentalHistory temp = (RentalHistory)rentalHistoryList[i]; // 빌린 도서 목록에서 제외함으로 인해 반납처리됨 if (temp.GetBook().Equals(book)) { rentalHistoryList.Remove(temp); break; } } // 회원의 대출 도서 목록에서도 제외 rentalMember.rentalBookList.Remove(book); Console.WriteLine("\n 반납되었습니다."); inputProcessor.PressAnyKey(); Console.Clear(); }
// 책을 연장 시도한다. public void Extension(Data.Book book) { for (int i = 0; i < rentalHistoryList.Count; i++) { RentalHistory temp = (RentalHistory)rentalHistoryList[i]; // 연장하려는 도서객체와 일치하면 연장을 시도한다. if (temp.GetBook().Equals(book)) { if (temp.Extend()) { Console.WriteLine("\n 연장되었습니다."); Console.WriteLine("\n 반납 기한은 " + temp.getDueDay() + "입니다."); } else { Console.WriteLine("\n 연장 실패하였습니다."); } break; } } inputProcessor.PressAnyKey(); Console.Clear(); }