예제 #1
0
        public void Index(AggregateCommit aggregateCommit)
        {
            List <IndexRecord> indexRecordsBatch = new List <IndexRecord>();

            foreach (var @event in aggregateCommit.Events)
            {
                string eventTypeId = @event.Unwrap().GetType().GetContractId();
                var    record      = new IndexRecord(eventTypeId, aggregateCommit.AggregateRootId);
                indexRecordsBatch.Add(record);
            }

            indexStore.Apend(indexRecordsBatch);
        }
예제 #2
0
        public bool Rebuild(Func <IEnumerable <IndexRecord> > indexRecords)
        {
            if (Prepare())
            {
                indexStore.Apend(indexRecords());
                Complete();
            }

            return(false);
        }