Exemplo n.º 1
0
        private void SelectMenuItem(BudgetMenuItemViewModel menuItem)
        {
            if (_selectedItemModel == menuItem)
            {
                return;
            }
            if (_selectedItemModel != null)
            {
                _selectedItemModel.IsSelected = false;
            }

            _selectedItemModel            = menuItem;
            _selectedItemModel.IsSelected = true;

            switch (menuItem.MenuItemType)
            {
            case MenuItemTypes.BudgetView:
                var budgetEditor = new BudgetEditorViewModel(BudgetModel);
                _showScreenCallback(budgetEditor);
                break;

            case MenuItemTypes.Account:
                Account account         = menuItem.Payload as Account;
                var     transactionGrid = new TransactionGridViewModel(BudgetModel, account.EntityID);
                _showScreenCallback(transactionGrid);
                break;
            }
        }
Exemplo n.º 2
0
        public BudgetMenuViewModel(MainBudgetViewModel mainViewModel, INavigationService navigationService, Action <ViewModelBase> showScreenCallback)
        {
            _mainViewModel      = mainViewModel;
            _showScreenCallback = showScreenCallback;
            _navigationService  = navigationService;

            _budgetModel = _mainViewModel.BudgetModel;
            _budget      = _budgetModel?.GetBudget();
            _budget?.Accounts?.EnsureCollectionLoaded();


            _mainViewModel.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(MainBudgetViewModel.BudgetModel))
                {
                    this.BudgetModel = _mainViewModel.BudgetModel;
                }
            };

            InitializeAccountItems();
            InitializeRelayCommands();

            _budgetViewItem = new BudgetMenuItemViewModel(MenuItemTypes.BudgetView, "Budget", null);
        }