public void Save(IEventSource aggregate)
 {
     if (_cache != null)
     {
         _cache.Save(aggregate);
     }
     else
     {
         _repository.Save(aggregate);
     }
 }
        public TAggregate GetById <TAggregate>(Guid id, int version, ICorrelatedMessage source) where TAggregate : AggregateRoot, IEventSource
        {
            TAggregate agg = _cache?.GetById <TAggregate>(id, version);

            if (agg == null || agg.Version > version)
            {
                agg = _repository.GetById <TAggregate>(id, version);
                if (agg != null)
                {
                    _cache?.Save(agg);
                }
            }

            if (agg != null)
            {
                ((ICorrelatedEventSource)agg).Source = source;
            }
            return(agg);
        }
コード例 #3
0
 public void Save(IEventSource aggregate)
 {
     _cache.Save(aggregate);
 }