Ejemplo n.º 1
0
 public UnitOfWorkManager(IServiceProvider serviceProvider,
                          IUnitOfWorkAccessor unitOfWorkAccessor, IAsyncLocalObjectProvider asyncLocalObjectProvider)
 {
     _serviceProvider          = serviceProvider;
     _unitOfWorkAccessor       = unitOfWorkAccessor;
     _asyncLocalObjectProvider = asyncLocalObjectProvider;
 }
Ejemplo n.º 2
0
        public Repository(IAggregateStoreFactory[] aggregateStoreFactories, IUnitOfWorkAccessor unitOfWorkAccessor)
        {
            this.aggregateStoreFactories = aggregateStoreFactories;
            unitOfWork = unitOfWorkAccessor.UnitOfWork;

            if (unitOfWork != null)
            {
                unitOfWork.AddInnerTransaction(new RepositoryTransaction(this));
            }
        }
Ejemplo n.º 3
0
        public RepositoryTests()
        {
            publishEventBuffer = Substitute.For <IPublishEventBuffer>();
            unitOfWork         = Substitute.For <IUnitOfWork>();
            unitOfWork.EventBuffer.Returns(publishEventBuffer);
            unitOfWork.When(x => x.AddInnerTransaction(Arg.Any <ITransaction>())).Do(ci => uowInnerTransaction = ci.ArgAt <ITransaction>(0));
            unitOfWorkAccessor = Substitute.For <IUnitOfWorkAccessor>();
            unitOfWorkAccessor.UnitOfWork.Returns(unitOfWork);

            aggregateStore1 = Substitute.For <IAggregateStore>();
            aggregateStore1.CanHandleAggregateType(typeof(MyEntity1)).Returns(true);
            aggregateStoreFactory1 = Substitute.For <IAggregateStoreFactory>();
            aggregateStoreFactory1.CreateAggregateStore(unitOfWork).Returns(aggregateStore1);
            aggregateStoreFactory1.CanHandleAggregateType(typeof(MyEntity1)).Returns(true);

            aggregateStore2        = Substitute.For <IAggregateStore>();
            aggregateStoreFactory2 = Substitute.For <IAggregateStoreFactory>();
            aggregateStoreFactory2.CreateAggregateStore(unitOfWork).Returns(aggregateStore2);

            sut = Substitute.ForPartsOf <Repository>(new[] { aggregateStoreFactory1, aggregateStoreFactory2 }, unitOfWorkAccessor);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Создает экземпляр контейнера <typeparamref name="TUnitOfWork"/>.
 /// </summary>
 public static TUnitOfWork CreateUnitOfWork <TUnitOfWork>(this IUnitOfWorkAccessor <TUnitOfWork> accessor) where TUnitOfWork : UnitOfWorkBase, new()
 {
     return(new TUnitOfWork());
 }
Ejemplo n.º 5
0
 public IRepository CreateRepository(IUnitOfWorkAccessor unitOfWorkAccessor)
 {
     return(new Repository(aggregateStoreFactories, unitOfWorkAccessor));
 }
Ejemplo n.º 6
0
 public MainUnitOfWork(DbContext db, IUnitOfWorkAccessor uowAccessor)
 {
     _db          = db;
     _tran        = _db.Database.BeginTransaction();
     _uowAccessor = uowAccessor;
 }
 public UnitOfWorkManager(IUnitOfWorkAccessor uowAccessor)
 {
     _uowAccessor = uowAccessor;
 }