Exemplo n.º 1
0
        static void Main(string[] args)
        {
            // Populating tables
            ReadClubs();
            ReadMembers();
            // INTRO
            Console.WriteLine("Welcome to GC Fitness 24. Hard bodies, sharp minds!");

            // HAVE USER SELECT WHICH CLUB THEY WOULD LIKE ACCESS TO
            Club establishment = SelectClub();

            //MENU
            bool isGoing = true;

            while (isGoing)
            {
                // HAVE USER ENTER A NUMBER FOR OPTION
                PrintPrompt(establishment);
                string input;

                int menuChoice = -1;
                do
                {
                    input = Console.ReadLine();

                    menuChoice = CheckNum(input, 8);
                } while (menuChoice == -1);

                // EXECUTING SELECTED MENU OPTION
                if (menuChoice < 8 && menuChoice >= 1)
                {
                    do
                    {
                        switch (menuChoice)
                        {
                        case 1:                                      //Check in a user
                            Console.WriteLine("Checking in: ");
                            int member1 = FindMember(establishment); // return -1 if no member found
                            if (member1 != -1)
                            {
                                membersList[member1].CheckIn(establishment);
                                Console.WriteLine("Checked in");
                            }
                            else
                            {
                                Console.WriteLine("No member found to check in");
                            }
                            Console.Write("Do you want to continue checking in members(Y/N)?");
                            break;

                        case 2:                                      // SEARCH FOR MEMBER AND DISPLAY INFO
                            Console.WriteLine("Searching for member: ");
                            int member2 = FindMember(establishment); // return -1 if no member found
                            if (member2 == -1)
                            {
                                Console.WriteLine("No member found with that name");
                            }
                            else
                            {
                                Console.WriteLine(membersList[member2]);
                            }
                            Console.Write("Do you want to continue searching for members(Y/N)?");
                            break;

                        case 3:     // GENERATE BILL FOR USER
                            Console.WriteLine("Generating invoice: ");
                            int member3 = FindMember(establishment);
                            if (member3 == -1)
                            {
                                Console.WriteLine("No member found with that name");
                            }
                            else
                            {
                                string bill = $"{membersList[member3].Name} Amount Dues: $";
                                if (membersList[member3] is MultiClub mc)          // membership have $40 for monthly fee
                                {
                                    bill += $"40\nMembership Points: {mc.Points}"; // need to cast
                                }
                                else
                                {
                                    bill += $"{establishment.MonthlyDue}";
                                }
                                Console.WriteLine(bill);
                            }
                            Console.Write("Do you want to continue Printing out invoices(Y/N)?");
                            break;

                        case 4:    // CREATE AND ADD A NEW MEMBER TO THE CLUB/LIST
                            Console.WriteLine("Membership Options:\n" +
                                              "1. Single-Club Member\n" +
                                              "2. Multi-Club Member");
                            Console.Write("\nWhat kind of member is this (1-2): ");
                            string pickNum = Console.ReadLine();
                            int    num     = CheckNum(pickNum, 2);
                            if (num == 1)
                            {
                                Console.Write("\nPlease enter the member's name that you would like to add: ");
                                string name = Console.ReadLine();
                                Console.Write("\nPlease enter the member's id: ");
                                string id = Console.ReadLine();
                                membersList.Add(new SingleClub(id, name, establishment.Name));
                                Console.WriteLine("New Single-Club Member added");
                            }
                            if (num == 2)
                            {
                                Console.Write("\nPlease enter the member's name that you would like to add:  ");
                                string name = Console.ReadLine();
                                Console.Write("\nPlease enter the member's id:  ");
                                string id = Console.ReadLine();
                                membersList.Add(new MultiClub(id, name));
                                Console.WriteLine("New Multi-Club Member added");
                            }
                            Console.Write("Do you want to continue Adding members(Y/N)?");
                            break;

                        case 5:     // FIND MEMBER IN CLUB THEN DELETE FROM LIST
                            Console.WriteLine("Removing Member: ");
                            int removeIdnex = FindMember(establishment);
                            if (removeIdnex == -1)
                            {
                                Console.WriteLine("No member found");
                            }
                            else
                            {
                                membersList.RemoveAt(removeIdnex);
                                Console.WriteLine("Member Removed");
                            }
                            Console.Write("Do you want to continue removing members(Y/N)?");
                            break;

                        case 6:     // DISPLAY ALL MEMBERS
                            Console.WriteLine("Active Members:");
                            Console.WriteLine("___________________________________");
                            foreach (Members m in membersList)
                            {
                                if (m is SingleClub sc)
                                {
                                    if (sc.HomeClub == establishment.Name)
                                    {
                                        Console.WriteLine(m);
                                    }
                                }
                                if (m is MultiClub)
                                {
                                    Console.WriteLine(m);
                                }
                            }
                            Console.Write("Do you want to display members again(Y/N)?");
                            break;

                        case 7:     //
                            establishment = SelectClub();
                            Console.Write($"Changing clubs... Would you like to select another club(Y/N)?");
                            break;
                        }

                        input = Console.ReadLine();
                    } while (ConfirmSelection(input));
                }
                else// QUIT PROGRAM
                {
                    Console.WriteLine("Quitting program...");
                    WriteMembers();
                    isGoing = false;
                }
            }
        }
Exemplo n.º 2
0
 // Multi-Club Members: a variable that stores their membership points.
 public override void CheckIn(Club club)
 {
     this.Points += 100;
 }
Exemplo n.º 3
0
 public abstract void CheckIn(Club club);