Exemplo n.º 1
0
 ///<summary>
 /// Sets a <see cref="Func{T}"/> of <see cref="IUnitOfWorkTransactionManager"/> that the
 /// <see cref="UnitOfWorkManager"/> uses to get an instance of <see cref="IUnitOfWorkTransactionManager"/>
 ///</summary>
 ///<param name="provider"></param>
 public void SetTransactionManagerProvider(Func <IUnitOfWorkTransactionManager> transactionManager)
 {
     Guard.Against <ArgumentNullException>(transactionManager == null, "transactionManager parameter cannot be null");
     _logger.LogDebug("The transaction manager provider is being set or overriden. Using supplied" +
                      " trasaction manager provider.");
     _stateStorage.Local.Remove <IUnitOfWorkTransactionManager>(LocalTransactionManagerKey);
     _stateStorage.Local.Put(LocalTransactionManagerKey, transactionManager);
     _currentTransactionManager = transactionManager();
 }
Exemplo n.º 2
0
        public UnitOfWorkManager(IStateStorage stateStorage, IUnitOfWorkTransactionManager transactionManager, ILogger <UnitOfWorkManager> logger,
                                 IServiceProvider serviceProvider)
        {
            _stateStorage = stateStorage;

            _logger          = logger;
            _serviceProvider = serviceProvider;
            this.SetTransactionManagerProvider(() => transactionManager);
        }