public IEnumerable <IEventDefinition> GetEvents(EventDefinitionFilter filter)
        {
            if (_events == null)
            {
                return(Enumerable.Empty <IEventDefinition>());
            }

            switch (filter)
            {
            case EventDefinitionFilter.All:
                return(FilterSupersededAndUpdateToLatestEntity(_events));

            case EventDefinitionFilter.FirstIn:
                var l1 = new OrderedHashSet <IEventDefinition>();
                foreach (var e in _events)
                {
                    l1.Add(e);
                }
                return(FilterSupersededAndUpdateToLatestEntity(l1));

            case EventDefinitionFilter.LastIn:
                var l2 = new OrderedHashSet <IEventDefinition>(keepOldest: false);
                foreach (var e in _events)
                {
                    l2.Add(e);
                }
                return(FilterSupersededAndUpdateToLatestEntity(l2));

            default:
                throw new ArgumentOutOfRangeException("filter", filter, null);
            }
        }
コード例 #2
0
 public IEnumerable <IEventDefinition> GetEvents(EventDefinitionFilter filter)
 {
     return(Enumerable.Empty <IEventDefinition>());
 }
コード例 #3
0
 public IEnumerable <IEventDefinition> GetEvents(EventDefinitionFilter filter) =>
 Enumerable.Empty <IEventDefinition>();