protected DomainEventsProcessor(ICheckpointManager checkpointManager) { Guard.ArgumentNotNull(checkpointManager, nameof(checkpointManager)); CheckpointManager = checkpointManager; var handler = this as IDomainEventsHandler; _handler = handler ?? throw new InvalidOperationException("Processor should implement IDomainEventsHandler inteface to be used as Handler"); }
public DomainEventsProcessor(IDomainEventsHandler handler, ICheckpointManager checkpointManager, IDomainEventsFaultHandler faultHandler = null) { Guard.ArgumentNotNull(handler, nameof(handler)); Guard.ArgumentNotNull(checkpointManager, nameof(checkpointManager)); if (faultHandler == null) { faultHandler = new DoNothingFaultHandler(); } _handler = handler; _faultHandler = faultHandler; CheckpointManager = checkpointManager; // ?? new InMemoryCheckpointManager(); }