예제 #1
0
        public void RegisterBook(ArrayList memberArrayList, ArrayList bookArrayList)                                 // '도서 등록' 기능 실행
        {
            BookVO bookVO = new BookVO();

            display.PrintBookRegisterOrModify("등", "록");                                                           // '도서 등록' 페이지 출력
            Console.SetCursorPosition(46, 9);
            bookVO.BookName = exception.EnglishOrKoreanOrNumberInput(bookVO.BookName);                             // 도서 제목 입력값이 영문자 혹은 한글 혹은 숫자인지 확인
            Console.SetCursorPosition(46, 11);
            bookVO.BookAuthor = exception.EnglishOrKoreanOrNumberInput(bookVO.BookAuthor);                         // 도서 저자 입력값이 영문자 혹은 한글 혹은 숫자인지 확인
            Console.SetCursorPosition(46, 13);
            bookVO.BookPublisher = exception.EnglishOrKoreanOrNumberInput(bookVO.BookPublisher);                   // 도서 출판사 입력값이 영문자 혹은 한글 혹은 숫자인지 확인
            Console.SetCursorPosition(46, 15);
            bookVO.BookPrice = exception.NumberInput(bookVO.BookPrice);                                            // 도서 가격 입력값이 숫자인지 확인
            bookVO.BookNo    = countBookNo.ToString();                                                             // 도서 번호를 저장
            countBookNo++;                                                                                         // 도서 번호 count를 1씩 증가
            bookArrayList.Add(bookVO);                                                                             // bookArrayList에 도서 등록 정보 추가
            display.Outline();                                                                                     // 기본 네모 Outline 출력
            Console.SetCursorPosition(45, 11);
            Console.Write("도서 등록을 완료했습니다.");
            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("");
                }
            }
        }