/// ------------------------------------------------------------- /// public void newGoalAction() { Render.setStatus("savings/debt", false); string input = InputHandler.processInput("Goal type"); bool isSavingsGoal = false; if (input.ToLower().Equals("savings")) { isSavingsGoal = true; } Render.setStatus("Enter " + (isSavingsGoal ? "savings" : "debt") + " goal details", false); string title = InputHandler.processInput("Title"); double amount = InputHandler.processNumberInput("Amount", 0); FinanceItem goal = new FinanceItem(title, amount); if (isSavingsGoal) { this.currentBudget.savingsGoals.Add(goal); } else { this.currentBudget.debtGoals.Add(goal); } }
/// ------------------------------------------------------------- /// public void deleteGoalAction() { Render.setStatus("Delete goal?", false); string goalTitle = InputHandler.processInput("Goal title"); FinanceItem goal = null; foreach (FinanceItem savingsGoal in currentBudget.savingsGoals) { if (savingsGoal.title.ToLower().Equals(goalTitle.ToLower())) { goal = savingsGoal; break; } } if (goal != null) { currentBudget.savingsGoals.Remove(goal); return; } foreach (FinanceItem debtGoal in currentBudget.debtGoals) { if (debtGoal.title.ToLower().Equals(goalTitle.ToLower())) { goal = debtGoal; break; } } if (goal != null) { currentBudget.debtGoals.Remove(goal); } }
/// ------------------------------------------------------------- /// public void deleteItemAction() { Render.setStatus("Which budget item to delete?", false); string itemName = InputHandler.processInput("Title"); FinanceItem deleteItem = currentBudget.getItem(itemName); if (deleteItem != null) { currentBudget.monthlyBudgetItems.Remove(deleteItem); } }
/// ------------------------------------------------------------- /// public void editItemAction() { Render.setStatus("Which budget item to edit?", false); string itemName = InputHandler.processInput("Title"); FinanceItem editItem = currentBudget.getItem(itemName); if (editItem != null) { Render.setStatus("Edit item (" + editItem.title + ")", false); editItem.amount = InputHandler.processNumberInput("Amount", editItem.amount); } }
/// ------------------------------------------------------------- /// public static List <Budget> csvToBudgets(string fileData) { List <Budget> budgets = new List <Budget>(); foreach (string budgetString in fileData.Split('#')) { Budget budget = new Budget(); foreach (string line in budgetString.Split(';')) { string[] lineParts = line.Split(','); if (lineParts.Length > 0) { switch (lineParts[0]) { case "name": if (lineParts.Length == 2) { budget.title = lineParts[1]; } break; case "item": if (lineParts.Length == 3) { FinanceItem item = new FinanceItem(lineParts[1], double.Parse(lineParts[2])); budget.monthlyBudgetItems.Add(item); } break; case "loan": if (lineParts.Length == 6) { budget.addLoan(new Loan( lineParts[1], lineParts[2], double.Parse(lineParts[3]), double.Parse(lineParts[4]), double.Parse(lineParts[5]) )); } break; case "savings": if (lineParts.Length == 3) { budget.currentSavings = double.Parse(lineParts[1]); budget.savingsGrowthRate = double.Parse(lineParts[2]); } break; case "goal": if (lineParts.Length == 4) { if (lineParts[1].Equals("s")) { budget.savingsGoals.Add(new FinanceItem( lineParts[2], double.Parse(lineParts[3]) )); } else { budget.debtGoals.Add(new FinanceItem( lineParts[2], double.Parse(lineParts[3]) )); } } break; } } } budgets.Add(budget); } return(budgets); }