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; }
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; //제대로된 입력값이 아니면 다시 출력 초기화 } } }
private void SetBookData(string bookName, string publisher, string writer, int numberOfBook) { BookVO book = new BookVO(++bookCount, bookName, publisher, writer, numberOfBook); bookData.Add(book); }
public void DeleteBook(BookVO book) // 책 삭제 { bookData.Remove(book); }
public void NewBook(string name, string publisher, string writer, int numberOfBooks) // 새로운 책 데이터 추가 { BookVO newBook = new BookVO(++bookCount, name, publisher, writer, numberOfBooks); bookData.Add(newBook); }
public void UpdateNumberOfBook(BookVO book, int numberOfBook) // 책 수량 변경 { book.NumberOfBook = numberOfBook - book.NumberOfLoans; }
public DateTime?IsBookBorrowed(BookVO book) // 이 유저는 책을 빌렸었는가 { return(IsBorrowedAlready(book)); }
/*BOOK*/ public void BorrowBook(BookVO book) // 책이 빌려지면 { BorrowingBook(book); book.NumberOfLoans++; book.NumberOfBook--; }