private void OpenBinding_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                // bail out if we have not saved changes, and do not
                // want to continue
                if (savedStatus == false && ContinueAndLoseChanges() == false)
                {
                    return;
                }

                // open file dialog box
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Budget Files|*.budget|All Files|*.*";

                // if user selects a file to read
                if (openFileDialog.ShowDialog() == true)
                {
                    // create a new budget
                    budget = new HomeBudget(openFileDialog.FileName);
                    UpdateDataGridView();

                    // update controls
                    SetBudgetRequiredControls(false);

                    // reset the categories
                    SetCategories();
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error Openning Budget", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void NewBinding_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            // Always use a try catch, just in case
            try
            {
                // bail out if we do have not saved changed changes, and do not
                // want to continue
                if (savedStatus == false && ContinueAndLoseChanges() == false)
                {
                    return;
                }

                // create a new budget
                budget = new HomeBudget();
                UpdateDataGridView();

                // update controls
                SetBudgetRequiredControls(false);

                // reset the categories
                SetCategories();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error Creating New Budget", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void dataBudget_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ExpenseForm expenseForm = new ExpenseForm();

            expenseForm.Themes = Themes.Modify;
            expenseForm.Budget = budget;

            //get the selected item to modify
            BudgetItem item = dataBudget.SelectedItem as BudgetItem;

            expenseForm.ExpenseID = item.ExpenseID;
            expenseForm.ShowDialog();
            budget = expenseForm.Budget;
            UpdateDataGridView();
            ResetFocusAfterUpdate(dataBudget.SelectedIndex);
        }
        private void ModifyBinding_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (modifySelectedItem.IsEnabled == true)
            {
                ExpenseForm expenseForm = new ExpenseForm();
                expenseForm.Themes = Themes.Modify;
                expenseForm.Budget = budget;

                //get the selected item to modify
                BudgetItem item = dataBudget.SelectedItem as BudgetItem;
                expenseForm.ExpenseID = item.ExpenseID;
                expenseForm.ShowDialog();
                budget = expenseForm.Budget;

                UpdateDataGridView();
                ResetFocusAfterUpdate(dataBudget.SelectedIndex);
            }
        }