public void RunMemberPage(ArrayList memberArrayList, ArrayList bookArrayList) { string memberPageInput = Console.ReadLine(); // '회원 관리'에서 메뉴 선택 입력 받기 switch (memberPageInput) { case "1": RegisterMember(memberArrayList, bookArrayList); break; // 1번 입력 시 '회원 등록'으로 이동 case "2": ModifyMemberFirstStep(memberArrayList, bookArrayList); break; // 2번 입력 시 '회원 수정'으로 이동 case "3": DeleteMember(memberArrayList, bookArrayList); break; // 3번 입력 시 '회원 삭제'로 이동 case "4": SelectMember(memberArrayList, bookArrayList); break; // 4번 입력 시 '회원 검색'으로 이동 case "5": PrintMemberList(memberArrayList, bookArrayList); break; // 5번 입력 시 '회원 출력'으로 이동 case "6": display.PrintMainPage(); // 6번 입력 시 메인 메뉴로 이동 mainPage.RunMainPage(memberArrayList, bookArrayList); break; default: Console.SetCursorPosition(104, 22); Console.WriteLine("잘못된 입력"); // 지정된 번호 이외의 입력이 들어왔을 때 System.Threading.Thread.Sleep(1000); display.PrintMemberPage(); RunMemberPage(memberArrayList, bookArrayList); break; } }
static bool isCalledBefore = true; // MainPage가 처음으로 실행됐는지 확인하는 값을 저장 public void RunMainPage(ArrayList memberArrayList, ArrayList bookArrayList) // MainPage 실행 { if (isCalledBefore == true) // MainPage가 처음으로 실행된 경우 회원 및 도서 데이터를 저장 { MemberAndBookData memberAndBookData = new MemberAndBookData(); memberAndBookData.InitMemberAndBookData(memberArrayList, bookArrayList); // 회원 및 도서 데이터를 초기화 isCalledBefore = false; // MainPage가 한번 실행됐기 때문에 값을 false로 변경 } string mainMenuInput = Console.ReadLine(); switch (mainMenuInput) { case "1": display.PrintMemberPage(); // 입력값이 1인 경우 회원 관리 페이지 실행 member.RunMemberPage(memberArrayList, bookArrayList); break; case "2": display.PrintBookPage(); // 입력값이 2인 경우 도서 관리 페이지 실행 book.RunBookPage(memberArrayList, bookArrayList); break; case "3": display.PrintRentAndReturnBook(); // 입력값이 3인 경우 도서 대여 및 반납 페이지 실행 rentAndReturnBook.RunRentAndReturnBook(memberArrayList, bookArrayList); break; case "4": Environment.Exit(0); break; default: Console.SetCursorPosition(104, 22); // 입력값이 지정된 번호가 아닌 경우 '잘못된 입력' 출력 Console.WriteLine("잘못된 입력"); System.Threading.Thread.Sleep(1000); display.PrintMainPage(); RunMainPage(memberArrayList, bookArrayList); break; } }
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); }