Beispiel #1
0
        private void User_BookMenu(BookVO book)
        {
            DateTime?returnTime = librarySystem.IsBookBorrowed(book);   //유저가 책을 빌렸었나요?


            if (returnTime != null)                 // 반납날짜가 초기화 되었다. -> 빌린 상태이다.
            {
                if (DoesReturn(book, returnTime))   // 반납할거야?
                {
                    librarySystem.ReturnBook(book); //반납~
                }
            }

            else if (librarySystem.CanBorrowMore(book))                                                                      //한 사람이 대여할 수 있는 책 최대 2권 (관리자는 3권) 모두 사용했는가?, 재고가 있는 가?
            {
                if (DoesBorrow(book))                                                                                        //대여가능, 대여할거야?
                {
                    ui.Alert("반납 날짜는 " + DateTime.Now.AddDays(14).ToLongDateString() + "입니다", warning3: "<<< E N T E R>>>"); // 대여날짜 팝업
                    librarySystem.BorrowBook(book);                                                                          // 책을 빌렸다는 데이터 초기화
                    Console.Read();
                }
            }

            else if (!librarySystem.DoesUserCanBorrow())  // 사용자가 대여할 수 있는 여유가 있음
            {
                ui.Alert("대여 가능한 권 수를 모두 대여 하셨기 때문에 대여할 수 없습니다.", warning3: "<<Enter>>");
                Console.Read();
            }

            else // 마지막 경우의 수는 책이 하나도 남지 않았을 때 뿐이다.
            {
                ui.Alert("현재 남은 재고가 없기 때문에 대여하실 수 없습니다.", warning3: "<<Enter>>");
                Console.Read();
            }

            return;
        }
Beispiel #2
0
        private void Administrator_BookMenu(BookVO book) // 관리자 bookmenu
        {
            while (true)
            {
                ui.BookMenuUI();

                switch (exception.Button())
                {
                case Constants.UPDATE_BOOK_COUNT:     //책 권 수 초기화
                {
                    UpdateNumberOfBook(book);
                    return;
                }

                case Constants.DELETE_BOOK:                                                      //책 삭제
                {
                    if (book.NumberOfLoans > 0)                                                  // 누군가 빌려갔다면 삭제 불가
                    {
                        ui.Alert("대여중인 책이 있습니다. 반납이 모두 완료된 후 삭제해 주십시오.", warning3: "<<Enter>>"); //팝업
                        Console.Read();
                        return;
                    }

                    librarySystem.DeleteBook(book);
                    ui.Alert("성공적으로 삭제 되었습니다.", warning3: "<<Enter>>");         //삭제
                    Console.Read();
                    return;
                }

                case Constants.ADMINISTRATOR_BACK:     //함수 종료
                    return;

                case null: continue;     //제대로된 입력값이 아니면 다시 출력 초기화
                }
            }
        }
Beispiel #3
0
        private void SetBookData(string bookName, string publisher, string writer, int numberOfBook)
        {
            BookVO book = new BookVO(++bookCount, bookName, publisher, writer, numberOfBook);

            bookData.Add(book);
        }
Beispiel #4
0
 public void DeleteBook(BookVO book) // 책 삭제
 {
     bookData.Remove(book);
 }
Beispiel #5
0
        public void NewBook(string name, string publisher, string writer, int numberOfBooks) // 새로운 책 데이터 추가
        {
            BookVO newBook = new BookVO(++bookCount, name, publisher, writer, numberOfBooks);

            bookData.Add(newBook);
        }
Beispiel #6
0
 public void UpdateNumberOfBook(BookVO book, int numberOfBook)  // 책 수량 변경
 {
     book.NumberOfBook = numberOfBook - book.NumberOfLoans;
 }
Beispiel #7
0
 public DateTime?IsBookBorrowed(BookVO book)  // 이 유저는 책을 빌렸었는가
 {
     return(IsBorrowedAlready(book));
 }
Beispiel #8
0
        /*BOOK*/

        public void BorrowBook(BookVO book)  // 책이 빌려지면
        {
            BorrowingBook(book);
            book.NumberOfLoans++;
            book.NumberOfBook--;
        }