void deleteTransaction() { System.out.println("Enter the transaction Id to be delete"); Scanner in = new Scanner(System.in); int tid = in.nextInt(); for (Customer c : customers.values()) { for (int t : c.TransactionId) { if (t == tid) { c.TransactionId.remove(t); transactions.remove(t); } } } }
// Now onwards code for Transaction management void addTransaction() throws CustomerIdInvalid, BalanceNotSufficient { try { LastTransNo++; Scanner in = new Scanner(System.in); System.out.println("Choose Type of Transaction\n1.Credit\n2.Debit"); int choice = in.nextInt(); if (choice == 1) { System.out.println("Enter Customer ID: "); int Cid = in.nextInt(); Customer c = customers.get(Cid); if (c == null) throw new CustomerIdInvalid("Customer Not valid"); System.out.println("Enter the Amount to be credit"); int amount = in.nextInt(); Accounts a = accounts.get(c.AccountId); a.balance = a.balance + amount; Transaction t = new CreditTransaction(LastTransNo, Cid, c.AccountId, amount); c.TransactionId.add(LastTransNo); transactions.put(LastTransNo, t); t.displayTransaction(); } if (choice == 2) { System.out.println("Enter Customer Number"); int Cid = in.nextInt(); Customer c = customers.get(Cid); if (c == null) throw new CustomerIdInvalid("Customer Not valid"); System.out.println("Enter the Amount to be Debit"); int amount = in.nextInt(); Accounts a = accounts.get(c.AccountId); if (a.balance >= amount) a.balance = a.balance - amount; else throw new BalanceNotSufficient("Balance is less"); Transaction t = new DebitTransaction(LastTransNo, Cid, c.AccountId, amount); c.TransactionId.add(LastTransNo); transactions.put(LastTransNo, t); t.displayTransaction(); } } catch (Exception e) { System.out.println(e.toString()); } }