private void ExcuteAddNewPaymentCommand(object button) { try { var btn = button as System.Windows.Controls.Button; if (btn != null) { string buttonTag = btn.Tag.ToString(); switch (buttonTag) { case "Expense": var expenseEntryWindow = new ExpenseEntry(PaymentTypes.CashOut); expenseEntryWindow.ShowDialog(); break; case "CashLoan": var cashLoanEntryWindow = new ExpenseEntry(PaymentTypes.CashIn); cashLoanEntryWindow.ShowDialog(); break; case "Edit": var editWindow = new ExpenseEntry(SelectedPayment); editWindow.ShowDialog(); break; } } Load(); } catch (Exception exception) { MessageBox.Show("Can't Add Payment" + Environment.NewLine + exception.Message, "Can't Add Payment", MessageBoxButton.OK, MessageBoxImage.Error); } }