public IEventSchema GetSchema() { var schema = new EventSchema(); var entityTypes = typeof(IEntitiesAssembly).Assembly .GetTypes() .Where(x => !x.IsAbstract && !x.IsInterface && typeof(IEntity).IsAssignableFrom(x)) .ToList(); foreach (var entityType in entityTypes) { var @event = new EventBuilder() .ForEntity(entityType) .WithEvent <AuditEvent>() .WithEvent <ValidationEvent>() .WithEvent <VersioningEvent>() .Build(); schema.Add(@event); } var imageProcessorEvent = new EventBuilder() .ForEntity <Product>() .WithEvent <ImageProcessorEvent>() .Build(); schema.Add(imageProcessorEvent); return(schema); }
public IEventSchema GetSchema() { var schema = new EventSchema(); var entityTypes = typeof(Entity <>).Assembly .GetTypes() .Where(x => !x.IsInterface && !x.IsAbstract && typeof(IEntity <Guid>).IsAssignableFrom(x)) .ToList(); foreach (var entityType in entityTypes) { var @event = new EventBuilder() .ForEntity(entityType) .WithEvent(typeof(AuditEvent)) .WithEvent(typeof(ValidationEvent)) .WithEvent(typeof(VersioningEvent)) .Build(); schema.Add(@event); } return(schema); }