Esempio n. 1
0
        public void Return()
        {
            string studentID;
            string confirm;

            while (true)
            {
                print.InputIDMsg("책을 반납할 회원");
                studentID = CancelKey.ReadLineWithCancel();
                if (studentID == null)
                {
                    ViewMenu();
                }
                if (errorCheck.MemberID(studentID) == false)
                {
                    break;
                }
                print.RegisterErrorMsg("학번");
            }

            memberListIndex = memberList.FindIndex(member => member.StudentId.Equals(studentID)); //입력받은 학번과 일치하는 회원을 리스트에서 찾아서 인덱스를 반환
            if (memberListIndex == NO_MEMBER)                                                     //입력받은 학번에 해당하는 회원 없을때
            {
                while (true)
                {
                    print.ErrorMsg("존재하지않는회원");
                    menuSelect = CancelKey.ReadLineWithCancel();
                    if (menuSelect == null)
                    {
                        Return();                     //ESC키
                    }
                    if (errorCheck.Number(menuSelect, "선택") == false)
                    {
                        break;
                    }
                    print.MenuErrorMsg("2지선다오류");
                }
                switch (int.Parse(menuSelect))
                {
                case REINPUT:
                    Return();
                    break;

                case PREV:
                    RentMenu();
                    break;
                }
            }
            bookListIndex = bookList.FindIndex(book =>                                                      //검색한 학번의 회원이 존재하면 그 회원이 빌린 책과
                                               memberList[memberListIndex].RentBook.Equals(book.BookName)); //도서 리스트에 있는 책에서 값이 일치하는 인덱스를 반환

            while (true)
            {
                print.ReturnMsg(bookList[bookListIndex].BookName);
                confirm = CancelKey.ReadLineWithCancel();
                if (confirm == null)
                {
                    Return();
                }
                if (errorCheck.Confirm(confirm) == false)
                {
                    break;
                }
                print.MenuErrorMsg("Y/N오류");
            }

            if (confirm == "Y" || confirm == "y")
            {
                memberList[memberListIndex].RentBook = ""; //책을 반납한 회원의 빌린 책명 없애줌
                memberList[memberListIndex].DueDate  = ""; //책을 반납한 회원의 반납일 없애줌
                bookList[bookListIndex].Count        = bookList[bookListIndex].Count + 1;
                print.CompleteMsg("반납 완료");
                RentMenu();
            }

            else if (confirm == "N" || confirm == "n")
            {
                Console.WriteLine("\t2초 후에 메뉴로 돌아갑니다...");
                Thread.Sleep(2000);
                ViewMenu();
            }
        }
Esempio n. 2
0
        public void Delete()
        {
            while (true)
            {
                print.Menu("도서검색");
                menuSelect = CancelKey.ReadLineWithCancel();
                if (menuSelect == null)
                {
                    ViewMenu();
                }
                if (errorCheck.Number(menuSelect, "5지선다") == false)
                {
                    break;
                }
                print.MenuErrorMsg("5지선다오류");
            }

            switch (int.Parse(menuSelect))
            {
            case SEARCH_BY_NAME:
                listIndex = SearchByName();
                break;

            case SEARCH_BY_PUBLISHER:
                listIndex = SearchByPublisher();
                break;

            case SEARCH_BY_AUTHOR:
                listIndex = SearchByAuthor();
                break;

            case PREV:
                ViewMenu();
                break;

            case SHUT_DOWN:
                Environment.Exit(0);
                break;
            }

            if (listIndex == NO_BOOK)
            {
                print.ErrorMsg("존재하지않는도서");
                menuSelect = CancelKey.ReadLineWithCancel();
                if (menuSelect == null)
                {
                    Delete();
                }
                switch (int.Parse(menuSelect))
                {
                case REINPUT:
                    Delete();
                    break;

                case GOPREV:
                    ViewMenu();
                    break;
                }
            }
            else //리스트에 존재
            {
                string confirm;
                while (true)
                {
                    print.BookDelete(bookList[listIndex]);
                    confirm = CancelKey.ReadLineWithCancel();
                    if (confirm == null)
                    {
                        Delete();
                    }
                    if (errorCheck.Confirm(confirm) == false)
                    {
                        break;
                    }
                    print.MenuErrorMsg("Y/N오류");
                }

                if (confirm == "Y" || confirm == "y")
                {
                    bookList.RemoveAt(listIndex);
                    print.CompleteMsg("도서 삭제가 완료 ");
                    ViewMenu();
                }

                else if (confirm == "N" || confirm == "n")
                {
                    Console.WriteLine("이전 메뉴로 돌아갑니다...");
                    Console.WriteLine("\t2초 후에 메뉴로 돌아갑니다...");
                    Thread.Sleep(2000);
                    ViewMenu();
                }
            }
        }
Esempio n. 3
0
        public void Delete() //멤버 삭제 메소드
        {
            string inputID;
            string confirm;
            int    listIndex;

            while (true)
            {
                print.Search("삭제할 회원의 학번을 ");
                inputID = CancelKey.ReadLineWithCancel();
                if (inputID == null)
                {
                    ViewMenu();
                }
                if (errorCheck.MemberID(inputID) == false)
                {
                    break;
                }
            }

            listIndex = memberList.FindIndex(member => member.StudentId.Equals(inputID));
            if (listIndex == NO_MEMBER) //리스트-1 => 매칭 되는 item 없다는 뜻
            {
                while (true)
                {
                    print.ErrorMsg("존재하지않는회원");
                    menuSelect = CancelKey.ReadLineWithCancel();
                    if (menuSelect == null)
                    {
                        ViewMenu();
                    }
                    if (errorCheck.Number(menuSelect, "선택") == false) //에러 값이 false이기 때문에 반복문 나감
                    {
                        break;
                    }
                    print.MenuErrorMsg("2지선다오류");
                }
                switch (int.Parse(menuSelect))
                {
                case REINPUT:
                    Edit(this);
                    break;

                case GOPREV:
                    ViewMenu();
                    break;
                }
            }

            else //리스트에 입력받은 학번과 일치하는 아이템 있음.
            {
                while (true)
                {
                    print.MemberDelete(memberList[listIndex]);
                    confirm = CancelKey.ReadLineWithCancel();
                    if (confirm == null)
                    {
                        ViewMenu();
                    }
                    if (errorCheck.Confirm(confirm) == false) //입력 양식 안맞을때
                    {
                        break;
                    }
                    print.MenuErrorMsg("Y/N오류");
                }

                if (confirm == "Y" || confirm == "y")
                {
                    memberList.RemoveAt(listIndex);
                    print.CompleteMsg("회원 삭제가 완료 ");
                    ViewMenu();
                }

                else if (confirm == "N" || confirm == "n")
                {
                    Console.WriteLine("\n\t2초 후에 메뉴로 돌아갑니다...");
                    Thread.Sleep(2000);
                    ViewMenu();
                }
            }
        }