public NHibernateSagaConsumeContext(ISession session, ConsumeContext <TMessage> context, TSaga instance, SagaConsumeContextMode mode)
     : base(context)
 {
     Saga     = instance;
     _session = session;
     _mode    = mode;
 }
Example #2
0
 public MartenSagaConsumeContext(IDocumentSession session, ConsumeContext <TMessage> context, TSaga instance, SagaConsumeContextMode mode)
     : base(context)
 {
     _session = session;
     _mode    = mode;
     Saga     = instance;
 }
Example #3
0
        public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(DatabaseContext <TSaga> context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                                  SagaConsumeContextMode mode)
            where T : class
        {
            var sagaConsumeContext = new DocumentDbSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode);

            return(Task.FromResult <SagaConsumeContext <TSaga, T> >(sagaConsumeContext));
        }
 public DocumentDbSagaConsumeContext(DatabaseContext <TSaga> databaseContext, ConsumeContext <TMessage> context, TSaga instance,
                                     SagaConsumeContextMode mode)
     : base(context)
 {
     _databaseContext = databaseContext;
     _mode            = mode;
     Saga             = instance;
 }
Example #5
0
 public MongoDbSagaConsumeContext(IMongoCollection <TSaga> mongoCollection, ConsumeContext <TMessage> context, TSaga instance,
                                  SagaConsumeContextMode mode)
     : base(context)
 {
     Saga             = instance;
     _mongoCollection = mongoCollection;
     _mode            = mode;
 }
        public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(IDocumentSession context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                                  SagaConsumeContextMode mode)
            where T : class
        {
            var sagaConsumeContext = new MartenSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode);

            return(Task.FromResult <SagaConsumeContext <TSaga, T> >(sagaConsumeContext));
        }
        public EntityFrameworkSagaConsumeContext(DbContext dbContext, ConsumeContext <TMessage> context, TSaga instance, SagaConsumeContextMode mode)
            : base(context)
        {
            _dbContext = dbContext;
            _mode      = mode;

            Saga = instance;
        }
        public RedisSagaConsumeContext(DatabaseContext <TSaga> database, ConsumeContext <TMessage> context, TSaga instance, SagaConsumeContextMode mode)
            : base(context)
        {
            _database = database;
            _mode     = mode;

            Saga = instance;
        }
Example #9
0
        public DapperSagaConsumeContext(DatabaseContext <TSaga> context, ConsumeContext <TMessage> consumeContext, TSaga instance, SagaConsumeContextMode mode)
            : base(consumeContext)
        {
            _context = context;
            _mode    = mode;

            Saga = instance;
        }
Example #10
0
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(DbContext context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                           SagaConsumeContextMode mode)
     where T : class
 {
     return(Task.FromResult <SagaConsumeContext <TSaga, T> >(new EntityFrameworkSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode)));
 }
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(TContext context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                           SagaConsumeContextMode mode)
     where T : class
 {
     return(Task.FromResult <SagaConsumeContext <TSaga, T> >(new DefaultSagaConsumeContext <TSaga, T>(consumeContext, instance, mode)));
 }
Example #12
0
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(DatabaseContext <TSaga> context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                           SagaConsumeContextMode mode)
     where T : class
 {
     return(Task.FromResult <SagaConsumeContext <TSaga, T> >(new RedisSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode)));
 }
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(ConsumeContext <T> consumeContext, TSaga instance, SagaConsumeContextMode mode)
     where T : class
 {
     return(_repositoryContext.CreateSagaConsumeContext(consumeContext, instance, mode));
 }
 public DefaultSagaConsumeContext(ConsumeContext <TMessage> context, TSaga instance, SagaConsumeContextMode mode)
     : base(context)
 {
     Saga = instance;
 }
Example #15
0
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(ISession context, ConsumeContext <T> consumeContext, TSaga instance,
                                                                           SagaConsumeContextMode mode)
     where T : class
 {
     return(Task.FromResult <SagaConsumeContext <TSaga, T> >(new NHibernateSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode)));
 }
Example #16
0
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(ConsumeContext <T> consumeContext, TSaga instance, SagaConsumeContextMode mode)
     where T : class
 {
     return(_factory.CreateSagaConsumeContext(_context, consumeContext, instance, mode));
 }
        public async Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(IndexedSagaDictionary <TSaga> context, ConsumeContext <T> consumeContext,
                                                                                        TSaga instance, SagaConsumeContextMode mode)
            where T : class
        {
            SagaInstance <TSaga> sagaInstance;

            switch (mode)
            {
            case SagaConsumeContextMode.Add:
            case SagaConsumeContextMode.Insert:
                sagaInstance = new SagaInstance <TSaga>(instance);

                await sagaInstance.MarkInUse(consumeContext.CancellationToken).ConfigureAwait(false);

                context.Add(sagaInstance);
                break;

            case SagaConsumeContextMode.Load:
                sagaInstance = context[instance.CorrelationId];

                await sagaInstance.MarkInUse(consumeContext.CancellationToken).ConfigureAwait(false);

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mode));
            }

            return(new InMemorySagaConsumeContext <TSaga, T>(consumeContext, sagaInstance, context));
        }
 public Task <SagaConsumeContext <TSaga, T> > CreateSagaConsumeContext <T>(IMongoCollection <TSaga> context, ConsumeContext <T> consumeContext,
                                                                           TSaga instance, SagaConsumeContextMode mode)
     where T : class
 {
     return(Task.FromResult <SagaConsumeContext <TSaga, T> >(new MongoDbSagaConsumeContext <TSaga, T>(context, consumeContext, instance, mode)));
 }