Ejemplo n.º 1
0
        /// -------------------------------------------------------------
        ///
        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);
            }
        }
Ejemplo n.º 2
0
        /// -------------------------------------------------------------
        ///
        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);
            }
        }
Ejemplo n.º 3
0
        /// -------------------------------------------------------------
        ///
        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);
            }
        }
Ejemplo n.º 4
0
        /// -------------------------------------------------------------
        ///
        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);
            }
        }
Ejemplo n.º 5
0
        /// -------------------------------------------------------------
        ///
        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);
        }