// 도서를 검색하고 수정한다.
        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);
            }
        }
Example #2
0
        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;
                }
            }
        }
Example #4
0
 // 도서리스트 출력
 public int PrintBookList()
 {
     return(drawer.PrintBookList(books));
 }