public EntityEventStore <T> GenerateEventStore <T>( IUniquePropertyDetector uniquePropertyDetector, IMessageBus eventBus) { EventStoreContext factory() => new EventStoreContext(_options); return(new EntityEventStore <T>(factory, uniquePropertyDetector, TypeResolver, JsonProcessor, eventBus)); }
private IReadOnlyDictionary <string, string> GetUniqueProperties(object source) { return(_uniquePropertyDetector switch { IUniquePropertyDetector service => service.GetUniqueProperties(source), _ => ImmutableDictionary <string, string> .Empty, });
public EntityEventStore(Func <EventStoreContext> contextFactory, IUniquePropertyDetector uniquePropertyDetector, TypeResolver typeResolver, IJsonProcessor jsonProcessor, IMessageBus eventBus) { _contextFactory = contextFactory; _uniquePropertyDetector = uniquePropertyDetector; _typeResolver = typeResolver; _jsonProcessor = jsonProcessor; _publisher = new EventPublisher(contextFactory, typeResolver, jsonProcessor, eventBus); }
public EntityEventStore <State1> GenerateEventStore( IUniquePropertyDetector uniquePropertyDetector, IMessageBus eventBus) { return(GenerateEventStore <State1>(uniquePropertyDetector, eventBus)); }