/// <summary> /// Initializes a new instance of the <see cref="AggregateRoot<TEntity>"/> class. /// </summary> /// <param name="repository">The repository.</param> /// <param name="stateMachineDecorator">The state machine decorator.</param> /// <param name="applierEvents">The applier events.</param> public AggregateRoot(IEventsRepository <TEntity, TId> repository, IFsmDecorator <TEntity> stateMachineDecorator, IApplierEvents applierEvents) { _repository = repository; _stateMachineDecorator = stateMachineDecorator; _applierEvents = applierEvents; _appliedEvents = new List <IDomainEvent <TEntity> >(); }
/// <summary> /// Initializes a new instance of the <see cref="AggregateRootFactory<TEntity>"/> class. /// </summary> /// <param name="repository">The repository.</param> /// <param name="fsmConfigurator">The FSM configurator.</param> /// <param name="applierEvents">The applier events.</param> public AggregateRootFactory(IEventsRepository <TEntity, TId> repository, FsmConfigurator fsmConfigurator, IApplierEvents applierEvents) { _repository = repository; _fsmConfigurator = fsmConfigurator; _applierEvents = applierEvents; }
/// <summary> /// Initializes a new instance of the <see cref="AggregateRootFactory<TEntity>"/> class. /// </summary> /// <param name="repository">The repository.</param> /// <param name="fsmConfigurator">The FSM configurator.</param> public AggregateRootFactory(IEventsRepository <TEntity, TId> repository, FsmConfigurator fsmConfigurator) { _repository = repository; _fsmConfigurator = fsmConfigurator; _applierEvents = ApplierEventFactory.DefaultApplier(); }