コード例 #1
0
 public UnitOfWorkCommandHandlerDecorator(
     ITransactionalUnitOfWork unitOfWork,
     ICommandHandler <TCommand> decoratedHandler)
 {
     _unitOfWork       = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
     _decoratedHandler = decoratedHandler ?? throw new ArgumentNullException(nameof(decoratedHandler));
 }
コード例 #2
0
 public SeedDataCommandHandler(
     ITransactionalUnitOfWork unitOfWork,
     ISeedValuesExtractor seedValuesExtractor)
 {
     _unitOfWork          = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
     _seedValuesExtractor = seedValuesExtractor ?? throw new ArgumentNullException(nameof(seedValuesExtractor));
 }
コード例 #3
0
        public ExternalDataService(IUnitOfWorkFactory unitOfWorkFactory, ILogFactory logFactory)
        {
            this.uow       = unitOfWorkFactory.Create(typeof(AppDbContext));
            userRepository = uow.CreateRepository <ExternalData>();

            logger = logFactory.CreateLogger <ExternalDataService>();
        }
コード例 #4
0
 public AuditTrailCommandHandlerDecorator(
     IAuditTrailProvider auditTrailProvider,
     ITransactionalUnitOfWork unitOfWork,
     ICommandHandler <TCommand> decoratedHandler)
 {
     _auditTrailProvider = auditTrailProvider ?? throw new ArgumentNullException(nameof(auditTrailProvider));
     _decoratedHandler   = decoratedHandler ?? throw new ArgumentNullException(nameof(decoratedHandler));
     _unitOfWork         = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }
コード例 #5
0
 public TransactionBehaviour(
     ITransactionalUnitOfWork transactionalUnitOfWork,
     ITransactionalOutboxService transactionalOutboxService,
     TransactionalOutboxConfiguration transactionalOutboxConfiguration,
     ILogger <TransactionBehaviour <TRequest, TResponse> > logger)
 {
     _transactionalUnitOfWork          = transactionalUnitOfWork;
     _transactionalOutboxService       = transactionalOutboxService;
     _transactionalOutboxConfiguration = transactionalOutboxConfiguration;
     _logger = logger;
 }
コード例 #6
0
        public TransactionalOutboxService(
            ITransactionalUnitOfWork unitOfWork,
            Func <DbConnection, IOutboxEventService> integrationServiceFactory,
            IPublishEndpoint publishEndpoint,
            ILogger <TransactionalOutboxService> logger
            )
        {
            _unitOfWork      = unitOfWork;
            _publishEndpoint = publishEndpoint;

            _logger             = logger;
            _outboxEventService = integrationServiceFactory(unitOfWork.GetDbConnection());
        }
コード例 #7
0
        public EF6UnitOfWorkTests()
        {
            var connection = DbConnectionFactory.CreateTransient();

            this._context = new FooContext(connection);

            this._unitOfWork = new EF6UnitOfWork(this._context, IsolationLevel.Unspecified);

            var repository = new BaseRepository <Foo>(this._unitOfWork);

            this._repositoryWriter = repository;
            this._repositoryReader = repository;
        }
コード例 #8
0
 public RegistrationService(IUserRepository userRepository,
                            ITransactionalUnitOfWork transactionalUnitOfWork,
                            IMapper mapper,
                            IGroupsRepository groupsRepository,
                            IUsersGroupsRepository usersGroupsRepository,
                            ITemplateSettingRepository templateSettingRepository,
                            IConfiguration configuration)
 {
     _userRepository          = userRepository;
     _transactionalUnitOfWork = transactionalUnitOfWork;
     _encryptData             = new EncryptData();
     _mapper                    = mapper;
     _groupsRepository          = groupsRepository;
     _usersGroupsRepository     = usersGroupsRepository;
     _configuration             = configuration;
     _templateSettingRepository = templateSettingRepository;
 }
コード例 #9
0
        public TransactionalOutboxService(
            ITransactionalUnitOfWork unitOfWork,
            IOutboxEventService outboxEventService,
            IPublishEndpoint publishEndpoint,
            ILogger <TransactionalOutboxService> logger
            )
        {
            _unitOfWork      = unitOfWork;
            _publishEndpoint = publishEndpoint;

            _logger = logger;

            // Todo: passing only the connection might be problematic, since in this version
            //       we are only using SqlServer, what if we want to have Postgres for instance?
            // _outboxEventService = integrationServiceFactory(unitOfWork.GetDbConnection());
            _outboxEventService = outboxEventService;
        }
コード例 #10
0
 public LoginService(IUserRepository userRepository,
                     IConfiguration config,
                     ITokenControllerRepository tokenControllerRepository,
                     ITransactionalUnitOfWork transactionalUnitOfWork,
                     IUsersGroupsRepository usersGroupsRepository,
                     IGroupsRepository groupsRepository,
                     IGroupsOuRepository groupsOuRepository,
                     ICompanyRepository companyRepository)
 {
     _userRepository            = userRepository;
     _config                    = config;
     _tokenControllerRepository = tokenControllerRepository;
     _transactionalUnitOfWork   = transactionalUnitOfWork;
     _encryptData               = new EncryptData();
     _usersGroupsRepository     = usersGroupsRepository;
     _groupsRepository          = groupsRepository;
     _groupsOuRepository        = groupsOuRepository;
     _companyRepository         = companyRepository;
 }
        public void Begin()
        {
            Log.Debug("Begin called");
            try
            {
                if (_unit != null)
                {
                    throw new UnitOfWorkManagerReused();
                }

                AssertAmbientTransactionPresent();

                _unit = _container.BeginTransactionalUnitOfWorkScope();
            }
            catch (Exception e)
            {
                Log.Error("Begin failed", e);
                throw;
            }
        }