public void AddLedger(ExpenseBucket budgetBucket) { if (Ledgers.Any(l => l.BudgetBucket == budgetBucket)) { // Ledger already exists in this ledger book. return; } this.newlyAddedLedgers.Add(new LedgerColumn { BudgetBucket = budgetBucket }); }
private void OnAddNewExpenseExecute(ExpenseBucket expense) { Dirty = true; var newExpense = Expenses.AddNew(); Debug.Assert(newExpense != null); newExpense.Amount = 0; // New buckets must be created because the one passed in, is a single command parameter instance to be used as a type indicator only. // If it was used, the same instance would overwritten each time an expense is created. if (expense is SpentMonthlyExpenseBucket) { newExpense.Bucket = new SpentMonthlyExpenseBucket(string.Empty, string.Empty); } else if (expense is SavedUpForExpenseBucket) { newExpense.Bucket = new SavedUpForExpenseBucket(string.Empty, string.Empty); } else if (expense is SavingsCommitmentBucket) { newExpense.Bucket = new SavingsCommitmentBucket(string.Empty, string.Empty); } else { throw new InvalidCastException("Invalid type passed to Add New Expense: " + expense); } Expenses.RaiseListChangedEvents = true; newExpense.PropertyChanged += OnExpenseAmountPropertyChanged; }
private void OnAddNewExpenseExecute(ExpenseBucket expense) { this.dirty = true; Expense newExpense = Expenses.AddNew(); newExpense.Amount = 0; if (expense is SpentMonthlyExpenseBucket) { newExpense.Bucket = new SpentMonthlyExpenseBucket(string.Empty, string.Empty); } else if (expense is SavedUpForExpenseBucket) { newExpense.Bucket = new SavedUpForExpenseBucket(string.Empty, string.Empty); } else if (expense is SavingsCommitmentBucket) { newExpense.Bucket = new SavingsCommitmentBucket(string.Empty, string.Empty); } else { throw new InvalidCastException("Invalid type passed to Add New Expense: " + expense); } this.newBuckets.Add(newExpense.Bucket); Expenses.RaiseListChangedEvents = true; newExpense.PropertyChanged += OnExpenseAmountPropertyChanged; }