public void SelectBook(ArrayList memberArrayList, ArrayList bookArrayList) // '도서 검색' 기능 실행 { display.Outline(); Console.SetCursorPosition(30, 11); Console.Write("검색할 도서의 제목 입력하세요. : "); string selectBookName = ""; selectBookName = exception.EnglishOrKoreanOrNumberInput(selectBookName); // 검색할 도서의 제목이 영문자 혹은 한글 혹은 숫자인지 확인 foreach (BookVO bookList in bookArrayList) { if (bookList.BookName.Contains(selectBookName)) // 이미 등록된 도서의 제목 중 검색할 도서의 제목을 포함하는 도서가 있는 경우 { display.BookUpperOutline(); // 검색한 도서의 정보 출력 Console.SetCursorPosition(5, 5); Console.Write(bookList.BookNo); Console.SetCursorPosition(12, 5); Console.Write(bookList.BookName); Console.SetCursorPosition(34, 5); Console.Write(bookList.BookAuthor); Console.SetCursorPosition(53, 5); Console.Write(bookList.BookPublisher); Console.SetCursorPosition(74, 5); Console.Write(bookList.BookPrice); Console.SetCursorPosition(86, 5); Console.Write(bookList.BookReservation); if (bookList.BookReservation == "대여중") // 검색한 도서가 대여중이라면 '반납예정일'도 출력 { Console.SetCursorPosition(97, 5); Console.Write(bookList.BookReturnDate.Year + "년 " + bookList.BookReturnDate.Month + "월 " + bookList.BookReturnDate.Day + "일"); } Console.WriteLine(); Console.WriteLine(); Console.Write("뒤로 가려면 'q'를 입력하세요."); ConsoleKeyInfo key; while (true) { key = Console.ReadKey(true); // 입력값의 ConsoleKey가 'q' 혹은 'ㅂ'이면 회원 관리 페이지로 이동 if (key.KeyChar == 'q' || key.KeyChar == 'ㅂ') { display.PrintMemberPage(); RunBookPage(memberArrayList, bookArrayList); break; } else { Console.Write(""); } } break; } } display.Outline(); // 검색할 도서 번호가 이미 등록된 도서의 번호 중 일치하는 값이 없는 경우 Console.SetCursorPosition(40, 11); Console.Write(selectBookName + "의 도서 정보를 찾을 수 없습니다."); System.Threading.Thread.Sleep(2000); display.PrintBookPage(); RunBookPage(memberArrayList, bookArrayList); }
public void PrintRentAndReturnBookList(ArrayList memberArrayList, ArrayList bookArrayList) // 대여 내역 기능 실행 { BookVO bookVO = new BookVO(); int row = 5; // 대여 내역을 출력할 첫 번째 행을 저장 display.BookUpperOutline(); // 도서 정보 카테고리 Outline 출력 foreach (BookVO bookList in bookArrayList) { if (bookList.BookReservation == "대여 가능") // 먼저 등록된 도서의 대여 정보가 '대여 가능'인 도서만 출력 { Console.SetCursorPosition(5, row); Console.Write(bookList.BookNo); Console.SetCursorPosition(12, row); Console.Write(bookList.BookName); Console.SetCursorPosition(34, row); Console.Write(bookList.BookAuthor); Console.SetCursorPosition(53, row); Console.Write(bookList.BookPublisher); Console.SetCursorPosition(74, row); Console.Write(bookList.BookPrice); Console.SetCursorPosition(86, row); Console.Write(bookList.BookReservation); row = row + 2; // 행의 값을 2씩 증가 } } foreach (BookVO bookList in bookArrayList) { if (bookList.BookReservation == "대여중") // 대여 정보가 '대여중'인 도서 출력 { if (row == 5) { display.BookUpperOutline(); // 등록된 모든 도서가 대여중인 경우 도서 정보 카테고리 Outline 출력 } Console.SetCursorPosition(5, row); Console.Write(bookList.BookNo); Console.SetCursorPosition(12, row); Console.Write(bookList.BookName); Console.SetCursorPosition(34, row); Console.Write(bookList.BookAuthor); Console.SetCursorPosition(53, row); Console.Write(bookList.BookPublisher); Console.SetCursorPosition(74, row); Console.Write(bookList.BookPrice); Console.SetCursorPosition(86, row); Console.Write(bookList.BookReservation); Console.SetCursorPosition(97, row); Console.Write(bookList.BookReturnDate.Year + "년 " + bookList.BookReturnDate.Month + "월 " + bookList.BookReturnDate.Day + "일"); // 대여정보가 '대여중'인 도서는 반납예정일도 출력 row = row + 2; } } Console.WriteLine(); Console.WriteLine(); Console.Write("뒤로 가려면 'q'를 입력하세요."); ConsoleKeyInfo key; while (true) { key = Console.ReadKey(true); if (key.KeyChar == 'q' || key.KeyChar == 'ㅂ') { display.PrintRentAndReturnBook(); RunRentAndReturnBook(memberArrayList, bookArrayList); break; } else { Console.Write(""); } } }