public RedisAggregateRootAtomicAction(IAggregateRootLock aggregateRootLock,
                                              IRevisionStore revisionStore,
                                              RedisAtomicActionOptions options)
        {
            if (ReferenceEquals(null, aggregateRootLock)) throw new ArgumentNullException(nameof(aggregateRootLock));
            if (ReferenceEquals(null, revisionStore)) throw new ArgumentNullException(nameof(revisionStore));
            if (ReferenceEquals(null, options)) throw new ArgumentNullException(nameof(options));

            this.aggregateRootLock = aggregateRootLock;
            this.revisionStore = revisionStore;
            this.options = options;
        }
 public RedisAggregateRootAtomicAction(IAggregateRootLock aggregateRootLock, IRevisionStore revisionStore) :
     this(aggregateRootLock, revisionStore, RedisAtomicActionOptions.Defaults)
 {
 }
 public static IAggregateRootAtomicAction New(IAggregateRootLock aggregateRootLock, IRevisionStore revisionStore)
 {
     return new RedisAggregateRootAtomicAction(aggregateRootLock, revisionStore);
 }