public Task RaiseBeforeSaveTriggers(bool skipDetectedChanges, CancellationToken cancellationToken) { _raiseBeforeSaveTriggersCalled = true; ITriggerContextDiscoveryStrategy?strategy; if (skipDetectedChanges) { if (_beforeSaveTriggerContextDiscoveryStrategyWithSkipDetectedChanges == null) { _beforeSaveTriggerContextDiscoveryStrategyWithSkipDetectedChanges = new CascadingTriggerContextDiscoveryStrategy("BeforeSave", true); } strategy = _beforeSaveTriggerContextDiscoveryStrategyWithSkipDetectedChanges; } else { if (_beforeSaveTriggerContextDiscoveryStrategy == null) { _beforeSaveTriggerContextDiscoveryStrategy = new CascadingTriggerContextDiscoveryStrategy("BeforeSave", false); } strategy = _beforeSaveTriggerContextDiscoveryStrategy; } _raiseBeforeSaveTriggersCalled = true; return(RaiseTriggers(typeof(IBeforeSaveTrigger <>), null, strategy, entityType => new BeforeSaveTriggerDescriptor(entityType), cancellationToken)); }
public Task RaiseAfterSaveFailedTriggers(Exception exception, CancellationToken cancellationToken = default) { if (_afterSaveFailedTriggerContextDiscoveryStrategy == null) { _afterSaveFailedTriggerContextDiscoveryStrategy = new NonCascadingTriggerContextDiscoveryStrategy("AfterSaveFailed"); } return(RaiseTriggers(typeof(IAfterSaveFailedTrigger <>), exception, _afterSaveFailedTriggerContextDiscoveryStrategy, entityType => new AfterSaveFailedTriggerDescriptor(entityType, exception), cancellationToken)); }
public Task RaiseAfterSaveTriggers(CancellationToken cancellationToken = default) { if (_afterSaveTriggerContextDiscoveryStrategy == null) { _afterSaveTriggerContextDiscoveryStrategy = new NonRecursiveTriggerContextDiscoveryStrategy("AfterSave"); } return(RaiseTriggers(typeof(IAfterSaveTrigger <>), null, _afterSaveTriggerContextDiscoveryStrategy, entityType => new AfterSaveTriggerDescriptor(entityType), cancellationToken)); }
public static Task RaiseBeforeRollbackTriggers(this ITriggerSession triggerSession, CancellationToken cancellationToken = default) { if (triggerSession == null) { throw new ArgumentNullException(nameof(triggerSession)); } if (_beforeRollbackTriggerContextDiscoveryStrategy == null) { _beforeRollbackTriggerContextDiscoveryStrategy = new NonCascadingTriggerContextDiscoveryStrategy("BeforeRollback"); } return(((TriggerSession)triggerSession).RaiseTriggers(typeof(IBeforeRollbackTrigger <>), null, _beforeRollbackTriggerContextDiscoveryStrategy, entityType => new BeforeRollbackTriggerDescriptor(entityType), cancellationToken)); }
public static Task RaiseAfterCommitTriggers(this ITriggerSession triggerSession, CancellationToken cancellationToken = default) { if (triggerSession == null) { throw new ArgumentNullException(nameof(triggerSession)); } if (_afterCommitTriggerContextDiscoveryStrategy == null) { _afterCommitTriggerContextDiscoveryStrategy = new NonRecursiveTriggerContextDiscoveryStrategy("AfterCommit"); } return(((TriggerSession)triggerSession).RaiseTriggers(typeof(IAfterCommitTrigger <>), null, _afterCommitTriggerContextDiscoveryStrategy, entityType => new AfterCommitTriggerDescriptor(entityType), cancellationToken)); }