/// <summary>
        /// Creates new instance with enumeration of supported methods in <paramref name="supportedMethod"/>. Other methods are empty.
        /// If one of stores required by <paramref name="supportedMethod"/> is <c>null</c>, this method is automatically not supported.
        /// </summary>
        /// <param name="supportedMethod">The enumeration of supported methods.</param>
        /// <param name="store">The store for loading and saving events.</param>
        /// <param name="publishingStore">The store for saving delivery information.</param>
        /// <param name="rebuilderStore">The store for rebuilding read-models.</param>
        public EmptyEventStore(Method supportedMethod, IEventStore store, IEventPublishingStore publishingStore, IEventRebuilderStore rebuilderStore)
        {
            this.supportedMethod = supportedMethod;
            this.store           = store;
            this.publishingStore = publishingStore;
            this.rebuilderStore  = rebuilderStore;

            if (store == null)
            {
                supportedMethod &= Method.Get;
                supportedMethod &= Method.GetWithVersion;
                supportedMethod &= Method.Save;
            }

            if (publishingStore == null)
            {
                supportedMethod &= Method.GetUnpublished;
                supportedMethod &= Method.Clear;
                supportedMethod &= Method.Publish;
            }

            if (rebuilderStore == null)
            {
                supportedMethod &= Method.GetOfTypes;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates new instance for rebuilding events from <paramref name="store"/> using <paramref name="deserializer"/>
 /// for loading event instances.
 /// </summary>
 /// <param name="store">The store containing already published events.</param>
 /// <param name="deserializer">The deserializer from loading event instances.</param>
 public Rebuilder(IEventRebuilderStore store, IDeserializer deserializer)
 {
     Ensure.NotNull(store, "store");
     Ensure.NotNull(deserializer, "deserializer");
     this.eventDispatcher = new PersistentEventDispatcher(new EmptyEventStore());
     this.store           = store;
     this.deserializer    = deserializer;
 }
Ejemplo n.º 3
0
 public UpgradeService(IDomainFacade domainFacade, IEventRebuilderStore eventStore, IFormatter eventFormatter)
 {
     Ensure.NotNull(domainFacade, "domainFacade");
     Ensure.NotNull(eventStore, "eventStore");
     Ensure.NotNull(eventFormatter, "eventFormatter");
     this.domainFacade   = domainFacade;
     this.eventStore     = eventStore;
     this.eventFormatter = eventFormatter;
 }
Ejemplo n.º 4
0
 public UpgradeService(ICommandDispatcher commandDispatcher, IEventRebuilderStore eventStore, IFormatter eventFormatter, IFactory <EventSourcingContext> eventSourceContextFactory, IFactory <ReadModelContext> readModelContextFactory, IFactory <ApplicationDataContainer> storageContainerFactory, IPriceConverter priceConverter, Func <IKey> userKeyGetter)
     : base(storageContainerFactory, CurrentVersion)
 {
     Ensure.NotNull(commandDispatcher, "commandDispatcher");
     Ensure.NotNull(eventStore, "eventStore");
     Ensure.NotNull(eventFormatter, "eventFormatter");
     Ensure.NotNull(eventSourceContextFactory, "eventSourceContextFactory");
     Ensure.NotNull(readModelContextFactory, "readModelContextFactory");
     Ensure.NotNull(priceConverter, "priceConverter");
     Ensure.NotNull(userKeyGetter, "userKeyGetter");
     this.commandDispatcher         = commandDispatcher;
     this.eventStore                = eventStore;
     this.eventFormatter            = eventFormatter;
     this.eventSourceContextFactory = eventSourceContextFactory;
     this.readModelContextFactory   = readModelContextFactory;
     this.priceConverter            = priceConverter;
     this.userKeyGetter             = userKeyGetter;
 }