//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; } }