Exemple #1
0
 public async Task IncluirEventAndFluxoAutomaticoSituacaoContextChangesAsync(IntegrationEvent evt)
 {
     var strategy = _configuracaoContext.Database.CreateExecutionStrategy();
     await strategy.ExecuteAsync(async() =>
     {
         using (var transaction = _configuracaoContext.Database.BeginTransaction())
         {
             try
             {
                 await _configuracaoContext.SaveChangesAsync();
                 await _eventLogService.SaveEventAsync(evt, _configuracaoContext.Database.CurrentTransaction.GetDbTransaction());
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
                 var sqlException = ex.InnerException as System.Data.SqlClient.SqlException;
                 throw new Exception(sqlException.Number + "::" + sqlException.Message);
             }
         }
     });
 }