public InterceptorResult Apply(IDataContext context, BeforeQuery eventArgs) { var query = eventArgs.Query as IQuery <T>; query.Where(_clauseToAppend); return(InterceptorResult.Succeeded()); }
protected virtual void OnBeforeQuery(BeforeQuery e) { EventHandler <BeforeQuery> handler = BeforeQuery; if (handler != null) { handler(this, e); } }
public EmployeeRepository(IIndexType <Employee> employeeType) : base(employeeType) { DocumentsChanged.AddHandler((o, args) => { DocumentsChangedCount += args.Documents.Count; return(Task.CompletedTask); }); BeforeQuery.AddHandler((o, args) => { QueryCount++; return(Task.CompletedTask); }); }
private void HandleEvent(object sender, BeforeQuery e) { var events = _interceptors.OfType <IEventInterceptor <BeforeQuery> >().OrderBy(x => x.Priority); foreach (var eventInterceptor in events) { var result = eventInterceptor.Apply(_repository.DomainContext, e); if (!result.ContinueExecution) { break; } } }
public bool AppliesTo(BeforeQuery eventArgs) { return(_typesToApplyTo.Any(type => eventArgs.Query.GetType() == type)); }
public ParentRepository(MyAppElasticConfiguration elasticConfiguration) : base(elasticConfiguration.ParentChild) { BeforeQuery.AddHandler(OnBeforeQuery); DocumentsChanging.AddHandler(OnDocumentsChanging); }
protected virtual void OnBeforeQuery(BeforeQuery e) { BeforeQuery?.Invoke(this, e); }