public IEnumerable <Interval> TransformWithCustomTransformer(IEnumerable <IDEEvent> events, IEventToIntervalTransformer <Interval> transformer) { events = _fixer.FixAndFilter(events); _logger.Info(@"Transforming event stream with {0} ...", transformer.GetType().Name); var currentEventTime = DateTimeOffset.MinValue; var i = 0; foreach (var e in events) { i++; if (i % 500 == 0) { Console.Write('.'); } if (i % 50000 == 0) { Console.WriteLine(); } if (TransformerUtils.EventHasNoTimeData(e)) { continue; } var version = new KaVEVersion(e.KaVEVersion); if (version.ReleaseNumber < _firstVersionToInclude) { continue; } Asserts.IsLessOrEqual(currentEventTime, e.TriggeredAt.GetValueOrDefault()); currentEventTime = e.TriggeredAt.GetValueOrDefault(); transformer.ProcessEvent(e); } Console.WriteLine(); _logger.Info("--> Done processing {0} events...", i); return(transformer.SignalEndOfEventStream()); }
public void ProcessEvent(IDEEvent @event) { _subTransformer.ProcessEvent(@event); }