// 도서를 검색하고 수정한다. public bool SearchAndModifyBook() { string searchItem; // 도서 검색화면을 출력하고 검색 형식을 입력받는다. int format = drawer.BookSearchScreen(); ArrayList searchResult = null; int index; // 1 : 도서명 검색, 2 : 출판사 검색, 3 : 저자 검색 switch (format) { case 1: Console.Write("\n 검색할 도서명 > "); searchItem = inputProcessor.ReadAndCheckString(30, 18, 20, 1, false); searchResult = bookKeepList.SearchBy((int)Data.BookManagement.Format.NameFormat, searchItem); break; case 2: Console.Write("\n 검색할 출판사 > "); searchItem = inputProcessor.ReadAndCheckString(30, 18, 20, 1, false); searchResult = bookKeepList.SearchBy((int)Data.BookManagement.Format.CompanyFormat, searchItem); break; case 3: Console.Write("\n 검색할 저자 > "); searchItem = inputProcessor.ReadAndCheckString(30, 18, 20, 1, false); searchResult = bookKeepList.SearchBy((int)Data.BookManagement.Format.WriterFormat, searchItem); break; default: searchResult = new ArrayList(); break; } // 검색 결과가 없다면 if (searchResult.Count == 0) { Console.Clear(); Console.WriteLine("\n검색 결과가 없습니다."); inputProcessor.PressAnyKey(); Console.Clear(); return(false); } // 검색결과가 있다면 검색된 도서목록을 출력한다. index = drawer.PrintBookList(searchResult) - 1; if (index != searchResult.Count) { Console.Write("\n수정 사항 입력 > "); ModifyBook((Data.Book)searchResult[index], format - 1, inputProcessor.ReadAndCheckString(25, 18, 17, 1, false)); return(true); } else { return(false); } }
public void UserMain() { ArrayList searchResult; int index; // 메뉴 선택에 따라 함수를 실행한다. while (true) { switch (drawer.UserMenuScreen()) { case 1: // 도서 검색 후 대여 searchResult = system.SearchBook(); if (searchResult.Count == 0) { Console.Clear(); Console.WriteLine("\n검색 결과가 없습니다."); inputProcessor.PressAnyKey(); Console.Clear(); break; } index = drawer.PrintBookList(searchResult) - 1; if (index != searchResult.Count) { system.Rental((Data.Book)searchResult[index], member); } break; case 2: // 전체 보기에서 선택하여 대여 system.Rental(system.ValueOf(system.PrintAllBookList() - 1), member); break; case 3: // 대출 목록에서 반납 및 연장 index = drawer.PrintBookList(member.rentalBookList) - 1; if (member.rentalBookList.Count != 0) { if (drawer.YesOrNo("반납하시겠습니까?") == 1) { system.Return((Data.Book)member.rentalBookList[index], member); } else { if (drawer.YesOrNo("연장하시겠습니까?") == 1) { system.Extension((Data.Book)member.rentalBookList[index]); } } } else { Console.WriteLine("\n 대출된 도서가 없습니다."); inputProcessor.PressAnyKey(); Console.Clear(); } break; case 4: return; } Console.SetWindowSize(42, 16); } }
// 서적을 관리한다. public void BookManagement() { ArrayList searchResult; int index; while (true) { // 도서 관리화면을 출력하고 사용자의 선택을 반환한다. // 1. 서적 추가, 2 : 서적 삭제, 3 : 서적 수정, 4 : 전체 보기, 5 : 되돌아가기 switch (drawer.BookManagementScreen()) { case 1: // 서적 추가화면을 출력하고 입력받은 도서를 현재 시스템 system.InsertBook(drawer.AddBookScreen()); break; case 2: // 서적을 검색하고 그 결과를 ArrayList형식으로 반환한다. searchResult = system.SearchBook(); // 검색 결과가 없다면 if (searchResult.Count == 0) { Console.Clear(); Console.WriteLine("\n검색 결과가 없습니다."); inputProcessor.PressAnyKey(); Console.Clear(); break; } // 검색 결과를 출력하고 도서를 선택받는다. index = drawer.PrintBookList(searchResult) - 1; if (index != searchResult.Count) { // 선택된 도서를 삭제한다. system.DeleteBook((Data.Book)searchResult[index]); } break; case 3: // 서적을 검색하고 수정한다. if (system.SearchAndModifyBook()) { Console.WriteLine("\n성공적으로 수정하였습니다."); } else { Console.WriteLine("\n수정 실패하였습니다."); } inputProcessor.PressAnyKey(); Console.Clear(); break; case 4: // 전체 서적 목록을 출력한다. system.PrintAllBookList(); break; case 5: return; } } }
// 도서리스트 출력 public int PrintBookList() { return(drawer.PrintBookList(books)); }