private void ViewTransactionClicked(object sender, RoutedEventArgs e) { var transaction = this.transactions.Where(t => t.InvoiceNumber == (sender as Button).Tag.ToString()).First <Transactions>(); if (transaction is Income) { var incomeReport = new IncomeReport((Income)transaction); incomeReport.Show(); } else { var expenseReport = new ExpenseReport((Expense)transaction); expenseReport.Show(); } }