public void AddNewBudgetCategory() { BudgetCategoryViewModel vm = new BudgetCategoryViewModel(this.dbFilePath); BudgetCategory category = new BudgetCategory(); Task.Run(() => vm.PopulateVMAsync(category)); vm.CanDelete = false; vm.CanEdit = true; vm.IsNew = true; this.BudgetCategories.Add(vm); GroupCategories(); this.SelectedBudgetCategory = vm; }
public async Task AddNewBudgetCategoryAsync() { BudgetCategoryViewModel vm = new BudgetCategoryViewModel(this.dbFilePath); BudgetCategory category = new BudgetCategory(); await vm.PopulateVMAsync(category); vm.IsNew = true; vm.CanDelete = false; vm.CanEdit = true; this.BudgetCategories.Add(vm); await GroupCategoriesAsync(); this.SelectedBudgetCategory = vm; }
public async Task <bool> DeleteBudgetCategoryAsync(BudgetCategoryViewModel vm) { bool deleted = false; var itemList = new List <BudgetCategoryViewModel>(); if (vm.CanDelete && this.BudgetCategories.Contains(vm, new BudgetCategoryViewModelComparer())) { deleted = await vm.DeleteAsync(); if (deleted) { this.BudgetCategories.Remove(vm); await GroupCategoriesAsync(); } } else { this.WriteErrorCondition("Unable to locate provided item in the source collection"); } return(deleted); }
internal async Task LoadVMAsync() { using (UnitOfWork uow = new UnitOfWork(this.dbFilePath)) { var _results = await uow.GetAllBudgetCategoriesAsync(); var _tempList = new List <BudgetCategoryViewModel>(); if (_results.Successful) { foreach (var category in _results.Results.OrderByDescending(c => c.budgetAmount)) { var vm = new BudgetCategoryViewModel(this.dbFilePath); vm.CanEdit = true; vm.CanDelete = true; await vm.PopulateVMAsync(category); this.BudgetCategories.Add(vm); } await GroupCategoriesAsync(); } else { if (_results.WorkException != null) { WriteErrorCondition(_results.WorkException); } else if (!string.IsNullOrEmpty(_results.Message)) { WriteErrorCondition(_results.Message); } else { WriteErrorCondition("An unknown error has occurred"); } } } }