internal void InvokeAsync(DatabaseActionHandler handler, object sender, IDbCommand query) { if (!RaiseEvents) { return; } if (handler != null) { if (Async && !ThreadSave && RaiseEventsAsync) { var eventListeners = handler.GetInvocationList(); foreach (var t in eventListeners) { var methodToInvoke = (DatabaseActionHandler)t; var databaseActionEvent = new DatabaseActionEvent(query.CreateQueryDebugger(Database)); methodToInvoke.BeginInvoke(sender, databaseActionEvent, ar => { OnHandlerRaised(databaseActionEvent, handler); }, null); } } else { var eventArgs = new DatabaseActionEvent(query.CreateQueryDebugger(Database)); handler(sender, eventArgs); OnHandlerRaised(eventArgs, handler); } } }
internal void RaiseFailedQuery(object sender, IDbCommand query, Exception ex) { if (!RaiseEvents) { return; } var handler = OnFailedQuery; if (handler != null) { if (Async && !ThreadSave) { var eventListeners = handler.GetInvocationList(); foreach (var t in eventListeners) { var methodToInvoke = (DatabaseExceptionActionHandler)t; methodToInvoke.BeginInvoke(sender, new DatabaseActionEvent(query.CreateQueryDebugger(Database)), ex, ar => { }, null); } } else { handler(sender, new DatabaseActionEvent(query.CreateQueryDebugger(Database)), ex); } } }
internal void RaiseSelect(IDbCommand query) { if (!RaiseEvents) return; var handler = OnSelect; if (handler != null) handler.BeginInvoke(null, new DatabaseActionEvent(query.CreateQueryDebugger(Database)), s => { }, null); }
internal void RaiseDelete(object sender, IDbCommand query) { if (!RaiseEvents) return; var handler = OnDelete; if (handler != null) handler.BeginInvoke(sender, new DatabaseActionEvent(query.CreateQueryDebugger(Database)), s => { }, null); }