public List<SavingEvent> Reopen(OCurrency pReopenAmount, ISavingsContract pSaving, DateTime pDate, User pUser, Client pClient) { using (SqlConnection conn = _savingManager.GetConnection()) using (SqlTransaction sqlTransaction = conn.BeginTransaction()) { try { List<SavingEvent> events = pSaving.Reopen(pReopenAmount, pDate, pUser, "Reopen savings account", false); foreach (SavingEvent savingEvent in events) _ePS.FireEvent(savingEvent, pSaving, sqlTransaction); _savingManager.UpdateStatus(pSaving.Id, pSaving.Status, pSaving.ClosedDate); sqlTransaction.Commit(); return events; } catch (Exception) { sqlTransaction.Rollback(); throw; } } }
public List<SavingEvent> Reopen(OCurrency pReopenAmount, ISavingsContract pSaving, DateTime pDate, User pUser, Client pClient) { using (SqlConnection conn = _savingManager.GetConnection()) using (SqlTransaction sqlTransaction = conn.BeginTransaction()) { try { List<SavingEvent> events = pSaving.Reopen(pReopenAmount, pDate, pUser, "Reopen savings account", false); foreach (SavingEvent savingEvent in events) { _ePS.FireEvent(savingEvent, pSaving, sqlTransaction); ServicesProvider.GetInstance() .GetContractServices() .CallInterceptor(new Dictionary<string, object> { {"Event", savingEvent}, {"RecoveryAccount", true}, {"SqlTransaction", sqlTransaction} }); } _savingManager.UpdateStatus(pSaving.Id, pSaving.Status, pSaving.ClosedDate); sqlTransaction.Commit(); return events; } catch (Exception) { sqlTransaction.Rollback(); throw; } } }