private async Task SelectExpense(ExpenseViewModel expense) { if (expense == null) { return; } SelectedExpense = null; await _pageService.PushAsync(new AddExpensePage(expense)); }
private async Task DeleteExpense(ExpenseViewModel expenseViewModel) { if (await _pageService.DisplayAlert("Warning", $"Are you sure you want to delete {expenseViewModel.Description} : {expenseViewModel.Amount}?", "YES", "NO")) { Expenses.Remove(expenseViewModel); var expense = await _expenseStore.GetExpense(expenseViewModel.Id); await _expenseStore.DeleteExpense(expense); } }
public ExpenseDetailViewModel(ExpenseViewModel viewModel, IExpenseStore expenseStore, IPageService pageService) { if (viewModel == null) { throw new ArgumentException(nameof(viewModel)); } _pageService = pageService; _expenseStore = expenseStore; SaveExpenseCommand = new Command(async() => await SaveExpense()); Expense = new Expense { Id = viewModel.Id, Amount = viewModel.Amount, Description = viewModel.Description, PostDate = Convert.ToDateTime(Constants.phoneDate), UserId = Constants.curUserId }; }
private async Task AddExpense(ExpenseViewModel expense) { await _pageService.PushAsync(new AddExpensePage(expense)); }
public BudgetViewModel(IPageService pageService, FundViewModel fundViewModel = null, IFundStore fundStore = null, ExpenseViewModel expenseViewModel = null, IExpenseStore expenseStore = null) { //if (fundViewModel == null) throw new ArgumentException(nameof(fundViewModel)); //if (expenseViewModel == null) throw new ArgumentException(nameof(expenseViewModel)); _fundStore = fundStore; _expenseStore = expenseStore; _pageService = pageService; LoadExpenseDataCommand = new Command(async() => await LoadExpenseData()); LoadFundDataCommand = new Command(async() => await LoadFundData()); AddFundCommand = new Command(async() => await AddFund(fundViewModel)); SelectExpenseCommand = new Command <ExpenseViewModel>(async c => await SelectExpense(c)); SelectFundCommand = new Command <FundViewModel>(async c => await SelectFund(c)); AddExpenseCommand = new Command(async() => await AddExpense(expenseViewModel)); RefreshDataCommand = new Command(async() => await RefreshData()); ViewFundCommand = new Command(async() => await ViewFunds(fundViewModel)); DeleteFundCommand = new Command <FundViewModel>(async c => await DeleteFund(c)); DeleteExpenseCommand = new Command <ExpenseViewModel>(async c => await DeleteExpense(c)); MessagingCenter.Subscribe <ExpenseDetailViewModel, Expense>(this, Events.ExpenseAdded, OnExpenseAdded); MessagingCenter.Subscribe <ExpenseDetailViewModel, Expense>(this, Events.ExpenseUpdated, OnExpenseUpdated); MessagingCenter.Subscribe <FundDetailViewModel, Fund>(this, Events.FundAdded, OnFundAdded); MessagingCenter.Subscribe <FundDetailViewModel, Fund>(this, Events.FundUpdated, OnFundUpdated); }