예제 #1
0
        public virtual void Apply <TAggregate>(TAggregate state, IAggregator <TAggregate> aggregator)
            where TAggregate : class, new()
        {
            var step = aggregator.AggregatorFor <T>();

            if (step is IAggregationWithMetadata <TAggregate, T> )
            {
                step.As <IAggregationWithMetadata <TAggregate, T> >()
                .Apply(state, this);
            }
            else
            {
                step?.Apply(state, Data);
            }
        }
예제 #2
0
 public virtual void Apply <TAggregate>(TAggregate state, IAggregator <TAggregate> aggregator)
     where TAggregate : class, new()
 {
     aggregator.AggregatorFor <T>()?.Apply(state, Data);
 }