예제 #1
0
        private void EditExpense(Guid id)
        {
            if (this.expenseAddEditViewModel != null)
            {
                this.expenseAddEditViewModel.SuccessfulExpenseRequested -= UpdateBalance;
            }
            this.expenseAddEditViewModel = kernel.Get <ExpenseAddEditViewModel>();
            this.expenseAddEditViewModel.SuccessfulExpenseRequested += UpdateBalance;

            this.CurrentViewModel = this.expenseAddEditViewModel;
            (this.CurrentViewModel as ExpenseAddEditViewModel).PopulateEditView(id);
        }
예제 #2
0
        private void Navigate(string destination)
        {
            switch (destination)
            {
            case "home":
                this.homeViewModel = kernel.Get <HomeViewModel>();

                this.CurrentViewModel = this.homeViewModel;
                break;

            case "expense":
                if (this.expenseAddEditViewModel != null)
                {
                    this.expenseAddEditViewModel.SuccessfulExpenseRequested -= UpdateBalance;
                }
                this.expenseAddEditViewModel = kernel.Get <ExpenseAddEditViewModel>();
                this.expenseAddEditViewModel.SuccessfulExpenseRequested += UpdateBalance;

                this.CurrentViewModel = this.expenseAddEditViewModel;
                break;

            case "income":
                if (this.incomeAddEditViewModel != null)
                {
                    this.incomeAddEditViewModel.SuccessfulIncomeRequested -= UpdateBalance;
                }
                this.incomeAddEditViewModel = kernel.Get <IncomeAddEditViewModel>();
                this.incomeAddEditViewModel.SuccessfulIncomeRequested += UpdateBalance;

                this.CurrentViewModel = this.incomeAddEditViewModel;
                break;

            case "history":
                if (this.settingsViewModel != null)
                {
                    this.historyViewModel.SuccessfulDeleteRequested      -= UpdateBalance;
                    this.historyViewModel.SuccessfulExpenseEditRequested -= EditExpense;
                    this.historyViewModel.SuccessfulIncomeEditRequested  -= EditIncome;
                }
                this.historyViewModel = kernel.Get <HistoryViewModel>();
                this.historyViewModel.SuccessfulDeleteRequested      += UpdateBalance;
                this.historyViewModel.SuccessfulExpenseEditRequested += EditExpense;
                this.historyViewModel.SuccessfulIncomeEditRequested  += EditIncome;

                this.CurrentViewModel = this.historyViewModel;
                break;

            case "statistics":
                this.statisticsViewModel = kernel.Get <StatisticsViewModel>();

                this.CurrentViewModel = this.statisticsViewModel;
                break;

            case "settings":
                if (this.settingsViewModel != null)
                {
                    this.settingsViewModel.SuccessfulUserInformationRequested -= UpdateUserInformation;
                }
                this.settingsViewModel = kernel.Get <SettingsViewModel>();
                this.settingsViewModel.SuccessfulUserInformationRequested += UpdateUserInformation;

                this.CurrentViewModel = this.settingsViewModel;
                break;

            case "register":
                if (this.registerViewModel != null)
                {
                    this.registerViewModel.SuccessfulRegistrationRequested -= AuthenticationRenavigate;
                }
                this.registerViewModel = kernel.Get <RegisterViewModel>();
                this.registerViewModel.SuccessfulRegistrationRequested += AuthenticationRenavigate;

                this.CurrentViewModel = this.registerViewModel;
                break;

            default:
                if (this.loginViewModel != null)
                {
                    this.loginViewModel.RegistrationNavigateRequested -= Navigate;
                    this.loginViewModel.SuccessfulLoginRequested      -= AuthenticationRenavigate;
                }
                this.loginViewModel = kernel.Get <LoginViewModel>();
                this.loginViewModel.RegistrationNavigateRequested += Navigate;
                this.loginViewModel.SuccessfulLoginRequested      += AuthenticationRenavigate;

                this.CurrentViewModel = this.loginViewModel;
                break;
            }
        }