public static void Main(string[] args) { BankServices Admin = new BankServices(); StaffServices NewStaffService = new StaffServices(); Bank FirstBank = Admin.CreateBank("STATE BANK INDIA"); Console.WriteLine(FirstBank.BankID); Staff NewStaff = NewStaffService.CreateStaffMember(FirstBank, "arun"); Console.WriteLine("Name:" + NewStaff.Name); Console.WriteLine("Username:"******"Password:"******"HDFC"); Console.WriteLine(SecondBank.BankID); NewStaff = NewStaffService.CreateStaffMember(SecondBank, "arun"); Console.WriteLine("Name:" + NewStaff.Name); Console.WriteLine("Username:"******"Password:"******"TECHNOVERT"); Console.WriteLine(ThirdBank.BankID); NewStaff = NewStaffService.CreateStaffMember(ThirdBank, "arun"); Console.WriteLine("Name:" + NewStaff.Name); Console.WriteLine("Username:"******"Password:"******"1 -> STATE BANK OF INDIA\n2 -> HDFC\n3 -> TECHNOVERT\n0 -> EXIT"); string BankName = Console.ReadLine(); if (Convert.ToInt32(BankName) == 0) { break; } Bank Bank = BankList.ListOfBanks.ElementAt(Convert.ToInt32(BankName) - 1); while (true) { string Username, Password; string userType; login: Console.WriteLine("1 -> staff\n2 -> customer\n0 -> back"); userType = Console.ReadLine(); CustomerServices NewCustomerService = new CustomerServices(Bank); switch (Convert.ToInt32(userType)) { case 1: { Console.WriteLine("enter username: "******"enter password: "******"1 -> create account\n2 -> remove account\n3 -> revert transaction\n4 -> transaction history\n5 -> set charges\n6 -> update account\n7 -> Add Currency\n0 -> logout"); string staffAction; staffAction = Console.ReadLine(); switch (Convert.ToInt32(staffAction)) { case 1: { string Name; Console.WriteLine("enter name:"); Name = Console.ReadLine(); Customer NewCustomer = NewCustomerService.CreateAccount(Name.ToUpper()); Console.WriteLine("Account number: " + NewCustomer.AccountID); Console.WriteLine("Balance: " + NewCustomer.Balance); Console.WriteLine(NewCustomer.Name + "\n" + NewCustomer.Username + "\n" + NewCustomer.Password); break; } case 2: { string AccountID; Console.WriteLine("enter accountID:"); AccountID = Console.ReadLine(); if (NewCustomerService.RemoveAccount(AccountID.ToUpper())) { Console.WriteLine("Removed successfully!!"); } else { Console.WriteLine("accountID not found"); } break; } case 3: { string AccountID, TransactionID; Console.WriteLine("enter Account number: "); AccountID = Console.ReadLine(); Console.WriteLine("enter TransactionID: "); TransactionID = Console.ReadLine(); AccountServices NewAccountService = new AccountServices(Bank); BankList bankList = new BankList(); if (NewAccountService.RevertTransaction(bankList, AccountID.ToUpper(), TransactionID.ToUpper())) { Console.WriteLine("Reverted successfully!!"); } else { Console.WriteLine("failed to Revert the Transaction"); } break; } case 4: { string AccountID; Console.WriteLine("enter account number"); AccountID = Console.ReadLine(); TransactionServices NewTransactionService = new TransactionServices(NewService.GetCustomer(Bank, Username, Password)); NewTransactionService.DisplayAllTransactions(); break; } case 5: { double srtgs, simps, drtgs, dimps; Console.WriteLine("enter RTGS for same bank account: "); srtgs = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("enter IMPS for same bank account: "); simps = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("enter RTGS for different bank account: "); drtgs = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("enter IMPS for different bank account: "); dimps = Convert.ToDouble(Console.ReadLine()); Admin.SetCharges(Bank, srtgs, simps, drtgs, dimps); break; } case 6: { Console.WriteLine("enter accountID"); string AccountID = Console.ReadLine(); Console.WriteLine("enter login details to make changes\nusername:"******"password:"******"enter new password:"******"Updated successfully!!"); } else { Console.WriteLine("check the detials you have entered"); } break; } case 7: { Console.WriteLine("enter currency name:"); string Name = Console.ReadLine(); Console.WriteLine("enter currency Id:"); string Id = Console.ReadLine(); Console.WriteLine("enter exchangerate:"); double ExchangeRate = Convert.ToDouble(Console.ReadLine()); if (Admin.AddCurrency(Bank, Name, Id.ToUpper(), ExchangeRate)) { Console.WriteLine("Currency added successfully"); } else { Console.WriteLine("Currency already exists"); } break; } case 0: goto login; } } } else { Console.WriteLine("incorrect username or password"); goto login; } } case 2: { Console.WriteLine("enter username: "******"enter password: "******"1 -> withdraw\n2 -> deposit\n3 -> transfer\n4 -> balance check\n5 -> transaction history\n6 -> display transactions by date\n0 -> logout"); string customerAction = Console.ReadLine(); switch (Convert.ToInt32(customerAction)) { case 1: { string Amount; Console.WriteLine("enter amount:"); Amount = Console.ReadLine(); if (NewAccountService.Withdraw(Convert.ToDouble(Amount), Customer)) { Console.WriteLine("Withdrawn Successfully!!"); } else { Console.WriteLine("Transaction Failed"); } break; } case 2: { string Amount; Console.WriteLine("enter amount:"); Amount = Console.ReadLine(); if (NewAccountService.Deposit(Convert.ToDouble(Amount), Customer) != null) { Console.WriteLine("Deposited Successfully!!"); } else { Console.WriteLine("Transaction Failed"); } break; } case 3: { Console.WriteLine("enter account number:"); string ToAccountID = Console.ReadLine(); Console.WriteLine("enter BankID"); string BankID = Console.ReadLine(); Console.WriteLine("enter amount:"); string Amount = Console.ReadLine(); Console.WriteLine("enter currency Id"); string CurrencyId = Console.ReadLine(); Console.WriteLine("1 -> RTGS\n2 -> IMPS"); int TypeOfTransfer = Console.Read(); BankList bankList = new BankList(); Bank ToBank = Admin.GetBank(bankList, BankID); if (NewAccountService.Transfer(Convert.ToDouble(Amount), ToAccountID.ToUpper(), ToBank, CurrencyId.ToUpper(), Customer, TypeOfTransfer)) { Console.WriteLine("Transfered Successfullly!!"); } else { Console.WriteLine("Transaction Failed"); } break; } case 4: { Console.WriteLine(Customer.Balance); break; } case 5: { NewTransactionService.DisplayAllTransactions(); break; } case 6: { Console.WriteLine("enter date:"); string Date = Console.ReadLine(); NewTransactionService.DisplayTransaction(Date); break; } case 0: goto login; } } } else { Console.WriteLine("incorrect username or password"); goto login; } } case 0: { goto begin; } } } } }