Esempio n. 1
0
        //methods


        public static int SelectFromLoginMenu(List <Club> clubList, List <Member> membersSingle, List <Member> membersMulti)
        {
            try
            {
                int select = UserChoice($"\nPlease select from the following options: \n1. Check-in a member \n2. Register a new member " +
                                        $"\n3. Cancel a membership \n4. Display member information \n5. Generate a bill \n6. Logout", "Invalid input! Please select between 1-6", 6);

                if (select == 1)
                {
                    Member currentMember = DisplayMember.FindMember(membersSingle, membersMulti);
                    if (currentMember == null)
                    {
                        Console.WriteLine("Member does not exist. Cannot display info.");
                    }
                    else
                    {
                        if (currentMember.HomeClub != "")
                        {
                            //send to singleClub.CheckIN
                            currentMember.CheckIn(clubList[0], currentMember);
                            StreamWriter writer = new StreamWriter("../../../../SingleMembers.txt");
                            foreach (SingleClubClass person in membersSingle)
                            {
                                writer.WriteLine($"{person.Id}|{person.FirstName}|{person.LastName}|{person.HomeClub}|{person.Fees}");
                            }
                            writer.Close();
                        }
                        else
                        {
                            //send to multiClub.checkIn
                            currentMember.CheckIn(clubList[0], currentMember);//same here will only accept a datatype Club
                            StreamWriter writer = new StreamWriter("../../../../MultiMembers.txt");
                            foreach (Multi_Club person in membersMulti)
                            {
                                writer.WriteLine($"{person.Id}|{person.FirstName}|{person.LastName}|{person.Fees}|{person.Points}");
                            }
                            writer.Close();
                        }
                    }
                }
                else if (select == 2)
                {
                    //send to Add a member abstract method in each child class
                    Console.Clear();
                    Club.DisplayClubs(clubList);
                    if (SingleOrMultiSelection() == "single")
                    {
                        Member newSingle = new SingleClubClass();
                        newSingle.AddMember(clubList, membersSingle);
                        membersSingle.Add(newSingle);
                        //write to file with the added member
                        StreamWriter writer = new StreamWriter("../../../../SingleMembers.txt");
                        foreach (SingleClubClass person in membersSingle)
                        {
                            writer.WriteLine($"{person.Id}|{person.FirstName}|{person.LastName}|{person.HomeClub}|{person.Fees}");
                        }
                        writer.Close();
                    }
                    else
                    {
                        Member newMulti = new Multi_Club();
                        newMulti.AddMember(clubList, membersMulti);
                        membersMulti.Add(newMulti);
                        //write to file with the added member
                        StreamWriter writer = new StreamWriter("../../../../MultiMembers.txt");
                        foreach (Multi_Club person in membersMulti)
                        {
                            writer.WriteLine($"{person.Id}|{person.FirstName}|{person.LastName}|{person.Fees}|{person.Points}");
                        }
                        writer.Close();
                    }
                }
                else if (select == 3)
                {
                    //send to remove a member both lists
                    RemoveMember.RmvMember(membersSingle, membersMulti);
                }
                else if (select == 4)
                {
                    //send to Display member info
                    DisplayMember.DispMember(membersSingle, membersMulti);
                }
                else if (select == 5)
                {
                    //send to generate a bill
                    Bill.GenerateBill(membersSingle, membersMulti);
                }
                return(select);//will return the int the user selects. This is important if they select 6 then it logs them out
            }
            catch
            {
                return(SelectFromLoginMenu(clubList, membersSingle, membersMulti));
            }
        }