Example #1
0
        private IList <MonthBudget> Convert2MonthBudgets(string hoursDetail)
        {
            var mbudgets = new List <MonthBudget>();

            if (string.IsNullOrEmpty(hoursDetail))
            {
                return(mbudgets);
            }
            var dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(hoursDetail);//Json字符串默认解析为字典

            foreach (KeyValuePair <string, string> kv in dic)
            {
                var      mb = new MonthBudget();
                DateTime date;
                var      ok = DateTime.TryParse(kv.Key + "-1", out date);
                if (!ok)
                {
                    continue;
                }
                double hours;
                double.TryParse(kv.Value, out hours);

                mb.Month = date;
                mb.Hours = hours;
                mbudgets.Add(mb);
            }
            return(mbudgets);
        }
Example #2
0
        void DeleteCategoryButton_Clicked(object sender, System.EventArgs e)
        {
            MonthBudget mb = Manager.GetSelectedMonthBudget();

            mb.DeleteCategory(Category.Name);
            Navigation.PopAsync();
        }
 public void AddData(MonthBudget monthBudget)
 {
     foreach (var category in monthBudget.Categories)
     {
         categories.Add(category);
     }
 }
Example #4
0
 public Transaction(decimal amount, DateTime date, MonthBudget month, TransactionType type, string name)
 {
     this.Amount = amount;
     this.Date   = date;
     this.Name   = name;
     this.Month  = month;
     this.Type   = type;
 }
Example #5
0
 public static void UpdateBudgetLimit(MonthBudget monthBudget, double budgetLimit)
 {
     if (budgetDictionary.ContainsKey(monthBudget))
     {
         var budget = budgetDictionary[monthBudget];
         budget.UpdateBudgetLimit(budgetLimit);
     }
 }
Example #6
0
        public void AddExpense()
        {
            if (!string.IsNullOrEmpty(ExpenseName.Text) && !string.IsNullOrEmpty(ExpenseTotal.Text))
            {
                MonthBudget currentMonthBudget = Manager.GetSelectedMonthBudget();

                currentMonthBudget.AddExpenseToCategory(categoryName.Name, ExpenseName.Text, DateTime.Now, decimal.Parse(ExpenseTotal.Text));
            }
        }
Example #7
0
        public static bool BudgetExists(MonthBudget monthBudget)
        {
            if (budgetDictionary.ContainsKey(monthBudget))
            {
                return(true);
            }

            return(false);
        }
Example #8
0
 public static void CreateBudget(MonthBudget monthBudget, double budgetLimit)
 {
     // Create Budget if it does not exit
     if (!BudgetManager.BudgetExists(monthBudget))
     {
         var budget = new Budget(budgetLimit);
         budgetDictionary.Add(monthBudget, budget);
     }
 }
Example #9
0
        public static double GetTotalBudget(MonthBudget monthBudget)
        {
            if (budgetDictionary.ContainsKey(monthBudget))
            {
                var budget = budgetDictionary[monthBudget];
                return(budget.BudgetLimit);
            }

            return(-1);
        }
Example #10
0
        public static double GetAmountSpent(TransactionType transactionType, MonthBudget monthBudget)
        {
            if (budgetDictionary.ContainsKey(monthBudget))
            {
                var budget = budgetDictionary[monthBudget];
                return(budget.GetAmountSpent(transactionType));
            }

            return(-1);
        }
Example #11
0
        public static double GetBudgetRemaining(MonthBudget monthBudget)
        {
            if (budgetDictionary.ContainsKey(monthBudget))
            {
                var budget = budgetDictionary[monthBudget];
                return(budget.BudgetRemaining);
            }

            return(-1);
        }
        public void Spend(decimal amount, DateTime date, MonthBudget month, TransactionType type, string name)
        {
            if (amount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(amount), "Enter a positive number");
            }
            var spent = new Transaction(amount, date, month, type, name);

            allTransactions.Add(spent);
        }
Example #13
0
        void ExpenseTapped(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
        {
            var selectedExpense = e.SelectedItem as Expense;


            MonthBudget mb = Manager.GetSelectedMonthBudget();

            mb.DeleteExpenseFromCategory(Category.Name, selectedExpense.Name, selectedExpense.Time);
            Navigation.PopAsync();
        }
        void ShowDownloadData()
        {
            ObservableCollection <Category> categoriesTest = new ObservableCollection <Category>();

            MonthBudget monthBudget = Manager.GetSelectedMonthBudget();

            foreach (var category in monthBudget.Categories)
            {
                categoriesTest.Add(category);
            }

            categoryListView.ItemsSource = categoriesTest;
        }
        public void Save(decimal amount, DateTime date, MonthBudget month, TransactionType type, string name)
        {
            if (amount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(amount), "Enter a positive number");
            }

            var save = new Transaction(-amount, date, month, type, name);

            allTransactions.Add(save);

            //alert for exceeding budget
        }
Example #16
0
 public static List <TransactionType> GetAllTransactionTypes(MonthBudget monthBudget)
 {
     return(Budget.GetAllTransactionTypes());
 }
Example #17
0
        public static List <Transaction> GetTransactions(TransactionType transactionType, MonthBudget monthBudget)
        {
            if (budgetDictionary.ContainsKey(monthBudget))
            {
                var budget = budgetDictionary[monthBudget];
                return(budget.GetTransactions(transactionType));
            }

            return(null);
        }