Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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
            };
        }