Ejemplo n.º 1
0
  /** Lists made transactions, searchable by either Date or Account number. */
  private static void listaTransaktioner() {
    ArrayList<GjordTransaktion> logs = new ArrayList<GjordTransaktion>();
    System.out.print(
        "Vill du lista transaktioner efter\n" + "1. kontonummer  2. datum\nAnge ditt val: ");
    String datumEllerKonto = "konto";

    switch (tbScanner.nextLine()) {
      case "1":
        datumEllerKonto = "konto";

        break;
      case "2":
        datumEllerKonto = "datum";
        break;
      case "0":
        System.out.println("Avbryter.");
        return;
      default:
        System.out.println("Fel inmatning. Avbryter.");
        return;
    }

    if (datumEllerKonto == "konto") {
      System.out.print("Ange det konto vars transaktioner du vill visa: ");
      String svar;
      while (true) {
        svar = tbScanner.nextLine();
        if (m.accountExists(svar)) {
          System.out.println("Kontot hittades, söker i transaktionsloggen...");
          break;

        } else {
          System.out.print("Inte ett giltigt konto. Forsok igen: ");
        }
      }

      logs = m.getLogsByAccountNumber(svar);

    } else if (datumEllerKonto == "datum") { // Försöker läsa in ett datum
      System.out.print("Ange det datum transaktionen(erna) genomforts: (yyyyMMdd)");
      SimpleDateFormat dFormat = new SimpleDateFormat("yyyyMMdd");
      Date svar;
      String temp;
      while (true) { // loopar tills ett datum ar inmatat
        try { // testa om datum
          temp = tbScanner.nextLine();
          svar = dFormat.parse(temp);
        } catch (ParseException | NumberFormatException e) { // om inte ett datum..
          System.out.println("Använd formatet yyyyMMdd!");
          continue; // börja om loop
        }
        break; // annars avbryt loop;
      }
      // listar transaktioner under ett visst datum
      System.out.println("Forsoker lista transaktioner under ett visst datum..");
      logs = m.getLogsAfter(svar);
    } else {
      System.out.println("Detta alternativ finns inte.");
    }

    if (logs.isEmpty()) {
      System.out.println("Hittade inga rader!");

    } else {
      for (GjordTransaktion log : logs) {
        System.out.println(log.toFileString());
      }
    }
  }