protected virtual void OnTransferMoney(TransferMoneyEventArgs e) { if (TransferMoney != null) { TransferMoney(this, e); } }
private void view_TransferMoney(object sender, TransferMoneyEventArgs e) { ITransaction tran = model.CreateTransaction(); try { tran.Begin(); bool success = model.Withdraw(e.SrcAccountId, e.Sum, tran); if (success) { model.Deposit(e.DestAccountId, e.Sum, tran); tran.Commit(); view.UpdateSrcBalance(model.GetBalance(e.SrcAccountId)); view.UpdateDestBalance(model.GetBalance(e.DestAccountId)); } else { tran.Rollback(); view.ShowWarning("Недостаточно денег для перевода"); } } catch (ApplicationException ex) { tran.Rollback(); view.ShowError(ex.Message); } }