Beispiel #1
0
    public IEnumerable <TBaseEvent> Query(EventQueryCriteria <TObjectId> criteria)
    {
        var expr   = criteria.ToExpression(this, type => type.FullName);
        var events = this.Events;

        if (expr != null)
        {
            events = events.Where(expr);
        }

        return(events.Select(x => x.Event));
    }
Beispiel #2
0
        public IEnumerable <DomainEvent> Query(EventQueryCriteria <Guid> criteria)
        {
            // Both forms are available.
            var expr2 = criteria.ToExpression(this, type => type.Name);
            var expr  = this.ToExpression(criteria, type => type.Name);

            if (expr == null)
            {
                return(this.events.Select(x => x.Event));
            }

            return(this.events.AsQueryable().Where(expr).Select(x => x.Event));
        }