Exemplo n.º 1
0
 public void RaiseInvokeSucceeded()
 {
     if (!initialized)
     {
         NumInvokeSucceededOnUninitialized++;
     }
     InvokeSucceeded?.Invoke(this, EventArgs.Empty);
 }
Exemplo n.º 2
0
        private void OnDbSessionCommitted(IDbSession dbSession)
        {
            if (!_sessionMappedExecutionQueue.TryGetValue(dbSession.Id, out var executionQueue))
            {
                return;
            }
            while (executionQueue.TryDequeue(out var executionContext))
            {
                InvokeSucceeded?.Invoke(this, new InvokeSucceededEventArgs {
                    ExecutionContext = executionContext
                });
            }

            _sessionMappedExecutionQueue.TryRemove(dbSession.Id, out _);
        }
Exemplo n.º 3
0
        private void OnDbSessionInvoked(ExecutionContext executionContext)
        {
            if (executionContext.DbSession.Transaction == null)
            {
                InvokeSucceeded?.Invoke(this, new InvokeSucceededEventArgs {
                    ExecutionContext = executionContext
                });
            }
            else
            {
                if (!_sessionMappedExecutionQueue.TryGetValue(executionContext.DbSession.Id, out var executionQueue))
                {
                    executionQueue = new ConcurrentQueue <ExecutionContext>();
                    _sessionMappedExecutionQueue.TryAdd(executionContext.DbSession.Id, executionQueue);
                }

                executionQueue.Enqueue(executionContext);
            }
        }