示例#1
0
 void sortAccountByCustomer() {
   List<Customer> cl = new ArrayList<Customer>(customers.values());
   cl.sort(Customer.CustomerComparatorByName);
   for (Customer c : cl) {
     System.out.println("Customer Name: " + c.CustomerName);
     Accounts a = accounts.get(c.AccountId);
     a.dispaly();
   }
 }
示例#2
0
 // 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());
   }
 }
示例#3
0
 void searchAccountByCustomerName() {
   Scanner in = new Scanner(System.in);
   boolean search = false;
   System.out.println("Enter Name Of the Customer:");
   String s = in.next();
   for (Customer c : customers.values()) {
     if (s.equals(c.CustomerName)) {
       search = true;
       accounts.get(c.AccountId).dispaly();
     }
   }
   if (!search) {
     System.out.println("Customer Not Found");
   }
 }
示例#4
0
  void transactionBetween() {
    Scanner in = new Scanner(System.in);
    Date after;
    Date before;
    String expectedPattern = "MM/dd/yyyy";
    SimpleDateFormat formatter = new SimpleDateFormat(expectedPattern);
    try { // (2) give the formatter a String that matches the SimpleDateFormat pattern
      System.out.println("Enter Account Number");
      int acc = in.nextInt();
      boolean search = false;
      Customer cust = null;
      for (Customer c : customers.values()) {
        if (c.AccountId == acc) {
          search = true;
          cust = c;
        }
      }
      if (!search) {
        System.out.println("Account Not Found");
        return;
      }
      System.out.println("Enter Starting Date in MM/dd/yyyy format");
      String userInput = in.next();
      after = formatter.parse(userInput);
      System.out.println("Enter Starting Date in MM/dd/yyyy format");
      userInput = in.next();
      before = formatter.parse(userInput);
      for (int t : cust.TransactionId) {
        Transaction trans = transactions.get(t);
        if (trans.getDt().after(before) && trans.getDt().before(after)) trans.displayTransaction();
      }

    } catch (Exception e) {
      System.out.println(e.toString());
    }
  }