예제 #1
0
        public void Edit(MemberManagement memberManagement) //멤버 편집
        {
            string inputID;
            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));
            //listIndex = 회원 리스트에서 입력받은 inputID 값과 일치하는 item의 index를 반환함
            if (listIndex == NO_MEMBER) //리스트-1 => 매칭 되는 item 없다는 뜻
            {
                while (true)            //입력시 정규표현식에 맞지 않으면 반복문 탈출 불가(같은 부분 지속적으로 입력받기 위함)
                {
                    print.ErrorMsg("존재하지않는회원");
                    menuSelect = CancelKey.ReadLineWithCancel();
                    if (menuSelect == null)
                    {
                        ViewMenu();                                   //입력 중간에 ESC키를 누르면 이전 메뉴로
                    }
                    if (errorCheck.Number(menuSelect, "선택") == false) //에러 안나면 나감
                    {
                        break;
                    }
                    print.MenuErrorMsg("2지선다오류");
                }
                switch (int.Parse(menuSelect))
                {
                case REINPUT:
                    Edit(this);
                    break;

                case GOPREV:
                    ViewMenu();
                    break;
                }
            }

            else //리스트에 존재
            {
                memberList[listIndex] = print.MemberEdit(memberList[listIndex], this);
                print.CompleteMsg("편집이 완료");
                ViewMenu();
            }
        }
예제 #2
0
 public Menu()
 {
     this.memberList       = new List <Member>();
     this.bookList         = new List <Book>();
     this.memberManagement = new MemberManagement(this, memberList);
     this.bookManagement   = new BookManagement(this, bookList);
     this.bookRent         = new BookRent(this, memberList, bookList);
     this.print            = Print.GetInstance(); //Print객체가 있으면 생성하지 않고 없으면 생성하는 메소드
     this.errorCheck       = ErrorCheck.GetInstance();
     new DataAdd(this.memberList, this.bookList); //최초 데이터 추가
 }
예제 #3
0
 public MemberManagement(Menu menu, List <Member> memberList)
 {
     this.menu             = menu;
     this.memberList       = memberList;
     this.print            = Print.GetInstance();
     this.errorCheck       = ErrorCheck.GetInstance();
     this.memberManagement = this;
     //등록 혹은 편집 기능을 하는 메소드가 다른 클래스에 있어서 현재 MemberManagement
     //인스턴스 전체를 가리키고 있는 this로 membermanagement 에 할당해준 뒤
     //다른 클래스로 넘길때 인자로 넘겨줌
 }
예제 #4
0
        //기본 기능은 주소/핸드폰 번호만 수정 가능
        public Member MemberEdit(Member inputMember, MemberManagement memberManagement)
        {
            string phoneNumber, address;

            Console.Clear();
            Console.WriteLine("\n\n\t---------------------------------수정할 회원 기존 정보--------------------------------");
            Console.WriteLine("\n\t이름 : {0}", inputMember.Name);
            Console.WriteLine("\t학번 : {0}", inputMember.StudentId);
            Console.WriteLine("\t성별 : {0}", inputMember.Gender);
            Console.WriteLine("\t핸드폰 번호 : {0}", inputMember.PhoneNumber);
            Console.WriteLine("\t이메일 주소 : {0}", inputMember.Email);
            Console.WriteLine("\t주소 : {0}", inputMember.Address + "\n");
            Console.WriteLine("\t--------------------------------------------------------------------------------------");

            Console.WriteLine("\n\n\t---------------------------------수정할 회원 정보 입력--------------------------------");
            while (true)
            {
                Console.Write("\n\t핸드폰 번호 입력(010-1234-5678 형식) : ");
                phoneNumber = CancelKey.ReadLineWithCancel();
                if (phoneNumber == null)
                {
                    memberManagement.Edit(memberManagement);
                }
                if (errorCheck.MemberPhone(phoneNumber) == false)
                {
                    break;
                }
                RegisterErrorMsg("핸드폰 번호");
            }
            while (true)
            {
                Console.Write("\n\n\t주소 입력(동/리까지 입력) : ");
                address = CancelKey.ReadLineWithCancel();
                if (address == null)
                {
                    MemberEdit(inputMember, memberManagement);
                }
                if (errorCheck.MemberAddress(address) == false)
                {
                    break;
                }
                RegisterErrorMsg("주소");
            }
            inputMember.PhoneNumber = phoneNumber;
            inputMember.Address     = address;

            return(inputMember);
        }
예제 #5
0
        public Member MemberRegister(MemberManagement memberManagement) //while로 틀린 항목 다시 입력하게
        {
            string name, studentId, gender, phoneNumber, email, address;

            Console.Clear();
            while (true)
            {
                Console.Write("\n\n\t이름 입력 (4자리 이내) : ");
                name = CancelKey.ReadLineWithCancel();
                if (name == null)
                {
                    memberManagement.ViewMenu();          //입력중간에 ESC키 입력하면 바로 이전 메뉴로 나감
                }
                if (errorCheck.MemberName(name) == false) //미리 설정해둔 정규식에 맞으면 bool 타입 false 반환
                {
                    break;
                }
                RegisterErrorMsg("이름");
            }
            while (true)
            {
                Console.Write("\n\n\t학번 입력 (6~8자리 이내) : ");
                studentId = CancelKey.ReadLineWithCancel();
                if (studentId == null)
                {
                    MemberRegister(memberManagement);                    //입력중간에 ESC키 입력하면 입력 양식 가장 위로 올라감
                }
                if (errorCheck.MemberID(studentId) == false)
                {
                    break;
                }
                RegisterErrorMsg("학번");
            }
            while (true)
            {
                Console.Write("\n\n\t성별 입력 (남/여): ");
                gender = CancelKey.ReadLineWithCancel();
                if (gender == null)
                {
                    MemberRegister(memberManagement);
                }
                if (errorCheck.MemberGender(gender) == false)
                {
                    break;
                }
                RegisterErrorMsg("성별");
            }
            while (true)
            {
                Console.Write("\n\n\t핸드폰 번호 입력(010-1234-5678 형식) : ");
                phoneNumber = CancelKey.ReadLineWithCancel();
                if (phoneNumber == null)
                {
                    MemberRegister(memberManagement);
                }
                if (errorCheck.MemberPhone(phoneNumber) == false)
                {
                    break;
                }
                RegisterErrorMsg("핸드폰 번호");
            }
            while (true)
            {
                Console.Write("\n\n\t이메일 입력 : ");
                email = CancelKey.ReadLineWithCancel();
                if (email == null)
                {
                    MemberRegister(memberManagement);
                }
                if (errorCheck.MemberEmail(email) == false)
                {
                    break;
                }
                RegisterErrorMsg("이메일");
            }
            while (true)
            {
                Console.Write("\n\n\t주소 입력 : ");
                address = CancelKey.ReadLineWithCancel();
                if (address == null)
                {
                    MemberRegister(memberManagement);
                }
                if (errorCheck.MemberAddress(address) == false)
                {
                    break;
                }
                RegisterErrorMsg("주소");
            }

            Member newMember = new Member(name, studentId, gender, phoneNumber, email, address, "", "");

            return(newMember);
        }