Exemple #1
0
        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;
                }
            }
        }
Exemple #5
0
 public bool AppliesTo(BeforeQuery eventArgs)
 {
     return(_typesToApplyTo.Any(type => eventArgs.Query.GetType() == type));
 }
Exemple #6
0
 public ParentRepository(MyAppElasticConfiguration elasticConfiguration) : base(elasticConfiguration.ParentChild)
 {
     BeforeQuery.AddHandler(OnBeforeQuery);
     DocumentsChanging.AddHandler(OnDocumentsChanging);
 }
Exemple #7
0
 protected virtual void OnBeforeQuery(BeforeQuery e)
 {
     BeforeQuery?.Invoke(this, e);
 }