Beispiel #1
0
        public IQueryable <T> CreateQuery()
        {
            var query         = GetDataAccessor().CreateQuery();
            var eventHandlers = RepositoryEventRegistry.GetQueryInterceptors <T>();

            foreach (var handler in eventHandlers)
            {
                query = handler.Handle(query);
            }
            return(query);
        }
Beispiel #2
0
 public virtual void Remove(T entity)
 {
     RepositoryEventRegistry.RaiseEvent <IBeforeRemoveListener>(entity);
     GetDataAccessor().Remove(entity);
     RepositoryEventRegistry.RaiseEvent <IAfterRemoveListener>(entity);
 }
Beispiel #3
0
 public virtual void Add(T entity)
 {
     RepositoryEventRegistry.RaiseEvent <IBeforeAddListener>(entity);
     GetDataAccessor().Add(entity);
     RepositoryEventRegistry.RaiseEvent <IAfterAddListener>(entity);
 }
Beispiel #4
0
 public InRepoConfiguration WithQueryInterceptor(IQueryInterceptor interceptor)
 {
     RepositoryEventRegistry.Register(interceptor);
     return(this);
 }
Beispiel #5
0
 public InRepoConfiguration WithEvent(IRepositoryEvent @event)
 {
     RepositoryEventRegistry.Register(@event);
     return(this);
 }