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); }
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); } }
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; }
public static void UpdateBudgetLimit(MonthBudget monthBudget, double budgetLimit) { if (budgetDictionary.ContainsKey(monthBudget)) { var budget = budgetDictionary[monthBudget]; budget.UpdateBudgetLimit(budgetLimit); } }
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)); } }
public static bool BudgetExists(MonthBudget monthBudget) { if (budgetDictionary.ContainsKey(monthBudget)) { return(true); } return(false); }
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); } }
public static double GetTotalBudget(MonthBudget monthBudget) { if (budgetDictionary.ContainsKey(monthBudget)) { var budget = budgetDictionary[monthBudget]; return(budget.BudgetLimit); } return(-1); }
public static double GetAmountSpent(TransactionType transactionType, MonthBudget monthBudget) { if (budgetDictionary.ContainsKey(monthBudget)) { var budget = budgetDictionary[monthBudget]; return(budget.GetAmountSpent(transactionType)); } return(-1); }
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); }
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 }
public static List <TransactionType> GetAllTransactionTypes(MonthBudget monthBudget) { return(Budget.GetAllTransactionTypes()); }
public static List <Transaction> GetTransactions(TransactionType transactionType, MonthBudget monthBudget) { if (budgetDictionary.ContainsKey(monthBudget)) { var budget = budgetDictionary[monthBudget]; return(budget.GetTransactions(transactionType)); } return(null); }