コード例 #1
0
ファイル: SavingServices.cs プロジェクト: TalasZh/opencbs
        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;
                }
            }
        }
コード例 #2
0
ファイル: SavingServices.cs プロジェクト: aelhadi/opencbs
        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;
                }
            }
        }