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); }
public FundDetailViewModel(FundViewModel viewModel, IFundStore fundStore, IPageService pageService) { if (viewModel == null) { throw new ArgumentException(nameof(viewModel)); } _fundStore = fundStore; _pageService = pageService; SaveFundCommand = new Command(async() => await SaveFund()); Fund = new Fund { Id = viewModel.Id, Amount = viewModel.Amount, Source = viewModel.Source, LastUpdateDate = Convert.ToDateTime(Constants.phoneDate), UserId = Constants.curUserId }; }