// 서적을 관리한다.
        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;
                }
            }
        }
Esempio n. 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);
            }
        }