예제 #1
0
        public static Event MapperFromEventToEventStoreDTO(EventStoredDTO dto)
        {
            var e = new Event()
            {
                AggregateId    = dto.AggregateId,
                AggregateData  = dto.AggregateData,
                DateTimeCreate = dto.CreationDate,
                MetaData       = "",
                EventType      = (EventTypes)dto.EventType,
            };

            return(e);
        }
        public async Task Save(EventStoredDTO e)
        {
            SetAggregateId(e.AggregateId);
            _aggregateActualVersion = e.AggregateActualVersion;
            _aggregateBaseVersion   = e.AggregateBaseVersion;
            _aggregateType          = e.AggregateType;
            var index = e.EventVersion - _aggregateBaseVersion - 1;
            var differenceActualBase = _aggregateActualVersion - _aggregateBaseVersion;
            var aux = _events.DefaultIfEmpty(null).ElementAt(index);

            if (aux == null)
            {
                _events.Insert(index, e);
            }
            else
            {
                aux = e;
            }
            if (_events.Count() == differenceActualBase)
            {
                await Commit();
            }
        }
예제 #3
0
 public async Task Save(EventStoredDTO e)
 {
     await _service.Save(e);
 }