private void CreateExecute(object obj) { Transaction hint = null; if (SelectedTransaction != null) { hint = m_transactionService.Get(SelectedTransaction.TransactionId); } else if (Transactions.Any()) { hint = m_transactionService.Get( Transactions.OrderByDescending(t => t.At).First().TransactionId); } else { AccountLink thisAccountLink = m_accountService.GetAsLink(m_accountId); hint = new Transaction { CreditAccount = thisAccountLink, DebitAccount = thisAccountLink, Amount = 0, At = DateTime.Now }; } Transaction newTransaction; if (m_transactionCreateViewService.Show(hint, out newTransaction)) { IAccountTransactionItemViewModel newTransactionViewModel = m_accountTransactionItemViewModelFactory.Create(newTransaction); Transactions.Add(newTransactionViewModel); PopulateTransactionBalances(); } }
private void EditExecute(object obj) { Transaction updatedTransaction; if (m_transactionEditViewService.Show(SelectedTransaction.TransactionId, out updatedTransaction)) { Transactions.Remove(SelectedTransaction); SelectedTransaction = m_accountTransactionItemViewModelFactory.Create(updatedTransaction); Transactions.Add(SelectedTransaction); PopulateTransactionBalances(); } }