/// <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; } }
/// <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; }
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; }
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; }