예제 #1
0
  public void transfer(String transferAmount, String accountFrom, String accountTo) {
    // actually transfers the model
    double transferDouble = Double.parseDouble(transferAmount);
    boolean accountFromFound = customer.removeMoney(transferDouble, accountFrom);
    boolean accountToFound = customer.addMoney(transferDouble, accountTo);
    if (accountFromFound == true && accountToFound == true) {
      // creates the log file
      double logAmount = -transferDouble;
      timestamp = date.getTime();
      String customerID = customer.returnID();

      AdminLog firstTransaction =
          new AdminLog(timestamp, transaction_counter, customerID, accountFrom, transferDouble);

      timestamp = date.getTime();
      AdminLog secondTransaction =
          new AdminLog(timestamp, transaction_counter, customerID, accountTo, logAmount);
      adminLogs.add(firstTransaction);
      adminLogs.add(secondTransaction);

      for (AdminLog a : adminLogs) {
        long timestampe = a.getTimestamp();
      }

      transaction_counter++;
      add_interest();
      String infoMessage = customer.transferMessage(accountFrom, accountTo, transferDouble);
      jf.displayInfo(infoMessage);
      try {
        saveFile(cust, DBfile);
        saveFile(adminLogs, logFile);
      } catch (IOException e) {
        e.printStackTrace();
      }
    } else {
      jf.errorMessage(
          "We cannot find that account number in our database"); // pops up an error message if the
                                                                 // account was not found
    }
    customer = null; // resets the customer and account after each transaction
    pin = null;
  }
예제 #2
0
  public void printTimeStamp() {
    ajf.dispose();
    ajf = new AdminRunningFrame(this);

    StringBuilder stringResults = new StringBuilder();
    // creates a new header
    String Tim = "[Time Stamp]";
    String transID = "[Transaction ID]";
    String CusID = "[ID #]";
    String CusAcct = "[Account #]";
    String transAmount = "[Amount]";
    String header =
        String.format("%-30s %-20s %-10s %10s %10s\n", Tim, transID, CusID, CusAcct, transAmount);
    stringResults.append(header);

    if (cust.isEmpty()) {
      ajf.errorMessage("There are no customers in this database.");
    }

    if (adminLogs.isEmpty()) {

      ajf.errorMessage("No entries have been found!");
    } else {
      Collections.sort(adminLogs, AdminLog.CompareTimeStamp);
      for (AdminLog a : adminLogs) {
        long timestamp = a.getTimestamp();
        String date = dateFormat.format(timestamp);
        int transactionID = a.getTransactionID();
        String customerID = a.getCustomerID();
        String accountID = a.getAccountNum();
        double amount = a.getAmount();
        String newLine =
            String.format(
                "%-30s %-20d %-10s %10s %10s\n",
                date, transactionID, customerID, accountID, amount);
        stringResults.append(newLine);
      }
      String resultsAsString = stringResults.toString();
      ajf.printInfo(resultsAsString);
    }
  }