Esempio n. 1
0
  public Budget logBudgetExpense(String category, String amountSpent) {
    Budget budget = getLatestBudget();
    BudgetsDAO budgetsDao = new BudgetsDAO(context);
    List<String> categories = Arrays.asList(budget.getCategories().split(","));
    List<String> amountsSpent = Arrays.asList(budget.getAmountsSpent().split(","));
    int targetIndex = categories.indexOf(category);

    double targetAmountSpent = Double.parseDouble(amountsSpent.get(targetIndex));
    double newAmountSpent = targetAmountSpent + Double.parseDouble(amountSpent);
    amountsSpent.set(targetIndex, String.valueOf(newAmountSpent));
    String amountsSpentStr = TextUtils.join(",", amountsSpent);
    budget.setAmountsSpent(amountsSpentStr);
    budget.setAmountAvailable(calculateAmountAvailable(budget));

    Date currentDateForComparison = Util.stringToDate(Util.getCurrentDateTime());
    Date latestDateForComparison = Util.stringToDate(budget.getDateCreated());

    if (currentDateForComparison.after(latestDateForComparison)) {
      budget.setDateCreated(Util.getCurrentDateTime());
      budgetsDao.createBudgetItem(budget);
    } else {
      budgetsDao.updateBudgetAmountSpent(budget);
    }
    return budget;
  }