//public static void HandleLoggedInManagerOperations(string option)
        //{
        //    //AccountHolderRepository accountHolderRepository = new AccountHolderRepository();
        //    if (option.Equals("0"))
        //    {
        //        //CreateAccounts.LogoutAccountManager();
        //        HandleSubMenu("2");
        //    }
        //    else if (option.Equals("1"))
        //    {
        //        Console.Clear();
        //        Console.WriteLine("     LIST OF ACCOUNT HOLDERS");
        //        managerService.ListOfAccountHolders();
        //        ShowContinueMenu();
        //        HandleAccountManagerMenu("2");
        //    }

        //    else if (option.Equals("2"))
        //    {
        //        Console.Clear();
        //        Console.WriteLine("   ACCOUNT HOLDER DELETE MENU");
        //        Console.Write("Enter Account Id: ");
        //        int id = Convert.ToInt32(Console.ReadLine());

        //        accountHolderService.RemoveAccountHolder(id: id);
        //        ShowContinueMenu();
        //        HandleAccountManagerMenu("2");
        //    }
        //    else if (option.Equals("3"))
        //    {
        //        Console.Clear();
        //        Console.WriteLine("   ACCOUNT HOLDER UPDATE MENU");
        //        Console.Write("Enter Account Id: ");
        //        int id = Convert.ToInt32(Console.ReadLine());

        //        AccountHolder account = accountHolderService.FindById(id);
        //        if (account == null)
        //        {
        //            Console.ForegroundColor = ConsoleColor.Red;
        //            Console.WriteLine("Account doesn't exist");
        //            Menu.ShowContinueMenu();
        //        }
        //        else
        //        {
        //            Menu.ShowAccountManagerUpdateMenu();

        //            string updateOption = Console.ReadLine();

        //            if (updateOption.Equals("6"))
        //            {
        //                Console.Write("Enter New Account Status(active/inactive): ");
        //                string changeAccountStatus = Console.ReadLine().ToLower();
        //                if (changeAccountStatus.Equals("active") || changeAccountStatus.Equals("inactive"))
        //                {
        //                    //accountHolderService.UpdateAccountHolder(id);
        //                }
        //                else
        //                {
        //                    Console.ForegroundColor = ConsoleColor.Red;
        //                    Console.WriteLine("Invalid input");

        //                }
        //                ShowContinueMenu();
        //                HandleAccountManagerMenu("2");

        //            }
        //            else
        //            {
        //                //UpdateAccountHolderMenu(id, updateOption);
        //            }


        //        }


        //    }

        //    else if (option.Equals("4"))
        //    {
        //        Console.Clear();
        //        Console.WriteLine("     LIST OF LOANS");
        //        managerService.ListLoans();
        //        ShowContinueMenu();
        //        HandleAccountManagerMenu("2");
        //    }
        //    else if (option.Equals("5"))
        //    {
        //        Console.Clear();
        //        Console.WriteLine("     LIST OF OVERDRAFTS");
        //        managerService.ListAllOverdrafts();
        //        ShowContinueMenu();
        //        HandleAccountManagerMenu("2");
        //    }
        //}

        //public static void UpdateAccountHolderMenu(int id, string updateOption)
        //        {

        //            try
        //            {
        //                if (updateOption.Equals("1"))
        //                {
        //                    Console.Write("Enter New First Name: ");
        //                    string changeFirstName = Console.ReadLine();
        //                    AccountHolderRepository.UpdateAccountHolder(id, firstName: changeFirstName);
        //                }
        //                else if (updateOption.Equals("2"))
        //                {
        //                    Console.Write("Enter New Last Name: ");
        //                    string changeLastName = Console.ReadLine();
        //                    AccountHolderRepository.UpdateAccountHolder(id, lastName: changeLastName);

        //                }
        //                else if (updateOption.Equals("3"))
        //                {
        //                    Console.Write("Enter New Middle Name: ");
        //                    string changeMiddleName = Console.ReadLine();
        //                    AccountHolderRepository.UpdateAccountHolder(id, middleName: changeMiddleName);


        //                }
        //                else if (updateOption.Equals("4"))
        //                {
        //                    Console.Write("Enter New Phone Number: ");
        //                    string changePhoneNumber = Console.ReadLine();
        //            //        //AccountHolderRepository.UpdateAccountHolder(id, phoneNumber: changePhoneNumber);


        //    }
        //    else if (updateOption.Equals("5"))
        //    {
        //        Console.Write("Enter Your New Address: ");
        //        string changeAddress = Console.ReadLine();
        //        // AccountHolderRepository.UpdateAccountHolder(id, address: changeAddress);

        //    }
        //    else
        //    {
        //        throw new Exception("Input  Not Recognized");
        //    }
        //}
        //catch (Exception e)
        //{
        //    Console.ForegroundColor = ConsoleColor.Red;
        //    Console.WriteLine($"Error: {e.Message}");
        //}
        //finally
        //{
        //    ShowContinueMenu();
        //}

        public static void HandleLoggedInAccountHolderMenu(string option)
        {
            //    //LoanManagement loanManagement = new LoanManagement();
            //    //OverdraftManagement overdraftManagement = new OverdraftManagement();
            switch (option)
            {
            case "0":
                HandleSubMenu("1");
                break;

            case "1":
                accountHolderService.SaveMoney();

                HandleAccountHolderMenu("2");
                break;

            case "2":
                Menu.ResetMenuSettings();
                Console.WriteLine("    TRANSFER MENU");
                Console.Write("Enter Recepients Account Number: ");
                string accountNumber = Console.ReadLine();
                Console.Write("Enter Amount To Transfer: ");
                double amountToTransfer = Convert.ToDouble(Console.ReadLine());

                accountHolderService.Transfermoney(accountNumber, amountToTransfer);
                HandleAccountHolderMenu("2");
                break;

            case "3":
                Menu.ResetMenuSettings();
                Console.WriteLine("    WITHDRAWAL MENU");
                Console.Write("Enter Amount to Withdraw: ");
                double amountToWithdraw = Convert.ToDouble(Console.ReadLine());
                accountHolderService.WithdrawMoney(amountToWithdraw);
                ShowContinueMenu();
                HandleAccountHolderMenu("2");
                break;

            case "4":
                Menu.ResetMenuSettings();
                Console.WriteLine("    ACCOUNT BALANCE MENU");
                accountHolderService.CheckBalance();
                ShowContinueMenu();
                HandleAccountHolderMenu("2");
                break;

            case "5":
                ShowLoanServiceMenu();
                string loanOption = Console.ReadLine();
                if (loanOption.Equals("0"))
                {
                    HandleAccountHolderMenu("2");
                }
                else if (loanOption.Equals("1"))
                {
                    ShowLoanMenu();
                    string minOption = Console.ReadLine();
                    if (minOption.Equals("0"))
                    {
                        HandleAccountHolderMenu("2");
                    }
                    else
                    {
                        HandleLoanMenu(minOption);
                    }
                }
                else if (loanOption.Equals("2"))
                {
                    Menu.ResetMenuSettings();
                    Console.WriteLine("     LOAN PAYBACK MENU");
                    Console.Write("How much do you want to pay: ");
                    double amountToPay = Convert.ToDouble(Console.ReadLine());
                    loanService.PayLoan(AccountHolderService.loggedInAccountHolder.Id, amountToPay);
                    Menu.ShowContinueMenu();
                    HandleAccountHolderMenu("2");
                }
                else if (loanOption.Equals("3"))
                {
                    double balance = loanService.checkLoanBalance(AccountHolderService.loggedInAccountHolder.Id);
                    string message = (balance == 0) ? $"You do not have an active loan" : $"You currently have an unpaid loan of {balance}";
                    Console.WriteLine(message);
                    Menu.ShowContinueMenu();
                    HandleAccountHolderMenu("2");
                }
                break;

            case "6":
                ResetMenuSettings();
                Console.WriteLine("     OVERDRAFT MENU");
                Console.Write("How much overdraft?: ");
                double overdraftAmount = Convert.ToDouble(Console.ReadLine());
                if (overdraftAmount > 100000)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Overdraft limit exceeded. Maximum overdraft is 100,000");
                }
                else
                {
                    accountHolderService.GetOverdraft(overdraftAmount);
                }

                ShowContinueMenu();
                HandleAccountHolderMenu("2");
                break;

            case "7":
                ShowAccountHolderUpdateMenu();
                string updateOption = Console.ReadLine();
                accountHolderService.UpdateAccountHolderDetails(updateOption);
                HandleAccountHolderMenu("2");
                break;

            case "8":

                accountHolderService.ChangePassword();
                HandleAccountHolderMenu("2");
                break;

            case "9":
                accountHolderService.changePin();
                HandleAccountHolderMenu("2");
                break;

            default:
                break;
            }
        }