Ejemplo n.º 1
0
  public static Transaction getTransaction(int acc, double am, String date) {
    Transaction tr = new Transaction();
    tr.setAccount_number(acc);
    tr.setDate(date);
    tr.setTransaction_amount(am);

    return tr;
  }
Ejemplo n.º 2
0
  @FXML
  private void convertAction() {
    final Optional<Account> accountOptional =
        StaticAccountsMethods.selectAccount(null, accountProperty.get());
    if (accountOptional.isPresent()) {
      final Account opp = accountOptional.get();

      final Transaction t = new Transaction();

      t.setDate(datePicker.getValue());
      t.setNumber(numberComboBox.getValue());
      t.setPayee(payeeTextField.getText());

      final TransactionEntry entry = new TransactionEntry();
      entry.setMemo(memoTextField.getText());

      if (amountField.getDecimal().signum() >= 0) {
        entry.setCreditAccount(accountProperty.get());
        entry.setDebitAccount(opp);
      } else {
        entry.setDebitAccount(accountProperty.get());
        entry.setCreditAccount(opp);
      }

      entry.setCreditAmount(amountField.getDecimal().abs());
      entry.setDebitAmount(amountField.getDecimal().abs().negate());

      t.addTransactionEntry(entry);

      ReconcileManager.reconcileTransaction(accountProperty.get(), t, getReconciledState());

      TransactionDialog.showAndWait(
          accountProperty.get(),
          t,
          optional -> {
            if (optional.isPresent()) {
              final Transaction tran = optional.get();
              final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
              Objects.requireNonNull(engine);

              if (engine.removeTransaction(modTrans)) {
                engine.addTransaction(tran);
              }
              clearForm();
            }
          });
    }
  }
  public void submitTransaction(View view) {
    Calendar currentDate = Calendar.getInstance();
    TransactionService TransactionService = new TransactionService();
    TransactionService.getTransactions();
    EditText item = (EditText) findViewById(R.id.Item);
    EditText amount = (EditText) findViewById(R.id.Amount);
    EditText employee = (EditText) findViewById(R.id.Employee);
    String product = item.getText().toString();
    String amountPurchased = amount.getText().toString();
    String employeeOnDuty = employee.getText().toString();

    Transaction newTransaction = new Transaction();
    newTransaction.setId(UUID.randomUUID());
    newTransaction.setItem(product);
    newTransaction.setAmount(amountPurchased);
    newTransaction.setEmployee(employeeOnDuty);
    newTransaction.setDate(currentDate.toString());
    TransactionService.setTransaction(newTransaction);

    Intent manageTransactionintent = new Intent(this, manageTrnasactions.class);
    startActivity(manageTransactionintent);
  }
Ejemplo n.º 4
0
  // method to process one of the transaction
  private static HashMap<String, Account> processOneTransaction(
      HashMap<String, Account> acctMap, String tranType, Account currentAccount) {
    Scanner sc = new Scanner(System.in);
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    while (!tranType.equals("-1")) {
      // if close
      if (tranType.equalsIgnoreCase("close")) {
        if (currentAccount.getBalance() == 0) {
          acctMap = closeAccount(currentAccount, acctMap);
          System.out.println(
              "Account number " + currentAccount.getAcctNumber() + " has been closed.");

        } else {
          System.out.println(
              "Account number" + currentAccount.getAcctNumber() + " cannot be closed.");
        }
        return acctMap;
      } else {
        Transaction transaction = new Transaction();
        // if a check
        if (tranType.equalsIgnoreCase("check")) {
          transaction.setCheck(true);
        }
        // deposit
        else if (tranType.equalsIgnoreCase("deposit")) {
          transaction.setCheck(false);
        } else {
          System.out.print(
              "Invalid input. Please Enter a transaction type (check, deposit, or close) or -1 to finish ");
          tranType = sc.nextLine();
          continue;
        }

        // set amount
        boolean isValidAmount = false;
        String amountStr = "";
        while (!isValidAmount) {
          System.out.print("Please enter transaction amount: ");
          amountStr = sc.next();
          isValidAmount = Validator.validateDoubleWithRange(amountStr, 0, 1000000000);

          if (!isValidAmount) {
            System.out.println("Invalid amount, please try again!");
          }
        }

        transaction.setAmount(Double.parseDouble(amountStr));
        sc.nextLine();

        // set date

        String dateStr = "";
        boolean isValidDate = false;
        while (!isValidDate) {
          System.out.print("Please enter transaction date: (format: mm/dd/yyyy)");
          dateStr = sc.next();
          isValidDate = Validator.validateDateWithFormat(dateStr);
          if (!isValidDate) {
            System.out.println("Invalid date format, please try again!");
          }
        }

        try {
          transaction.setDate(sdf.parse(dateStr));
        } catch (ParseException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        sc.nextLine();

        // add transaction to current account
        currentAccount.addTranscation(transaction);

        // prompt for next transaction
        System.out.print(
            "Please Enter a transaction type (check, deposit, or close) or -1 to finish ");
        tranType = sc.nextLine();
      }
    }
    return acctMap;
  }
  /** Stores to persistence layer initial data. */
  @PostConstruct
  public void init() {
    if (roleRepository.findByName("ROLE_ADMIN") == null) {
      Role roleUser = new Role();
      roleUser.setName("ROLE_USER");
      roleRepository.save(roleUser);

      Role roleAdmin = new Role();
      roleAdmin.setName("ROLE_ADMIN");
      roleRepository.save(roleAdmin);

      User user = new User();
      user.setEnabled(true);
      user.setEmail("admin@admin");

      BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
      user.setPassword(encoder.encode("admin"));
      List<Role> roles = new ArrayList<>();
      roles.add(roleAdmin);
      roles.add(roleUser);
      user.setRoles(roles);
      userRepository.save(user);

      // Create account for wallet
      Account walletAccount = new Account();
      walletAccount.setName(context.getMessage("Name.default.account", null, Locale.ENGLISH));
      walletAccount.setUser(user);
      walletAccount.setAmount(new BigDecimal(0));
      walletAccount.setCurrency(Currency.getInstance("UAH"));
      accountRepository.save(walletAccount);

      Account bankAccount = new Account();
      bankAccount.setName("Bank");
      bankAccount.setUser(user);
      bankAccount.setAmount(new BigDecimal(500));
      bankAccount.setCurrency(Currency.getInstance("UAH"));
      accountRepository.save(bankAccount);

      // Create categories for expenses
      for (int i = 1; i < 6; i++) {
        Category category = new Category();
        category.setName(
            context.getMessage("Name" + i + ".default.category", null, Locale.ENGLISH));
        category.setType(Operation.EXPENSE);
        category.setUser(user);
        categoryRepository.save(category);
      }

      // Create categories for incomes
      for (int i = 6; i < 8; i++) {
        Category category = new Category();
        category.setName(
            context.getMessage("Name" + i + ".default.category", null, Locale.ENGLISH));
        category.setType(Operation.INCOME);
        category.setUser(user);
        categoryRepository.save(category);
      }

      Transaction transaction1 = new Transaction();
      transaction1.setDate(new Date());
      transaction1.setAccount(walletAccount);
      transaction1.setAmount(new BigDecimal(50));
      transaction1.setCurrency(Currency.getInstance("UAH"));
      transaction1.setCategory(categoryRepository.findOne(3));
      transaction1.setType(Operation.EXPENSE);
      transaction1.setComment("McDonalds");
      transaction1.setUser(user);
      transactionRepository.save(transaction1);

      Transaction transaction2 = new Transaction();
      Calendar calendar = new GregorianCalendar();
      calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
      transaction2.setDate(calendar.getTime());
      transaction2.setAccount(bankAccount);
      transaction2.setAmount(new BigDecimal(45));
      transaction2.setCurrency(Currency.getInstance("UAH"));
      transaction2.setCategory(categoryRepository.findOne(7));
      transaction2.setType(Operation.INCOME);
      transaction2.setComment("Festo");
      transaction2.setUser(user);
      transactionRepository.save(transaction2);

      List<Transaction> transactions = new ArrayList<>();
      transactions.add(transaction1);
      user.setTransactions(transactions);
    }
  }