/// <summary> /// Event Handler triggered by SQLDBVIEWER /// OR if EditDb has changed SelectedIndex /// </summary> /// <param name="x"></param> /// <param name="caller"></param> public void SqlDbTriggerEvent(bool self, int RecordNo, DataGrid caller, bool IsUpdated) { /// <summary> /// This is the Trigger that is ONLY called when the selectedIndex changes /// in an SqlDbViewer DataGrid AND we have an open EditDb Grid to update /// </summary> if (EditDbSelChange != null) { if (Flags.EventHandlerDebug) { Console.WriteLine($"\r\n*** EVENTHANDLER ***- EventHandlers.SqlDbTriggerEvent() (340) Triggering EditDbSelChange.?Invoke ({RecordNo}, {caller})\r\n"); } ShowSubscribersCount(); // Edit has been triggered by SqlDbViewer ( MainWindow.DgControl.SelectionChangeInitiator == 1) // if set to 1, we need to triggers resetEditDbindex (int RowToFind, DataGrid caller) in EditDb.cs // To make EditDb update its own data if (MainWindow.DgControl.SelectionChangeInitiator == 1) // tells us SqlDbViewer initiated the record change { EditDbSelChange?.Invoke(Flags.isEditDbCaller, RecordNo, caller); } else { SQLVSelChange?.Invoke(Flags.isEditDbCaller, RecordNo, caller); } //MainWindow.DgControl.SelectionChangeInitiator = -1; // tells us it is a EditDb initiated the record change } }
public static void ShowSubscribersCount() { int count = -1; int count2 = -1; int count3 = -1; int count4 = -1; int count5 = -1; int count6 = -1; if (!BankAccountViewModel.ShowSubscribeData) { return; } if (SQLVSelChange != null) { try { count = SQLVSelChange.GetInvocationList().Length; } catch { } } if (EditDbSelChange != null) { try { count2 = EditDbSelChange.GetInvocationList().Length; } catch { } } if (BankDataCanBeLoaded != null) { try { count3 = BankDataCanBeLoaded.GetInvocationList().Length; } catch { } } if (CustDataCanBeLoaded != null) { try { count4 = CustDataCanBeLoaded.GetInvocationList().Length; } catch { } } if (DetailsDataCanBeLoaded != null) { try { count5 = DetailsDataCanBeLoaded.GetInvocationList().Length; } catch { } } if (NotifyOfDataChange != null) { try { count6 = NotifyOfDataChange.GetInvocationList().Length; } catch { } } if (Flags.EventHandlerDebug) { Console.WriteLine($"EventHandler(98) Subscribed Events:\r\n [SQLVSelChange = {count}, EditDbSelChange = {count2}], \r\nBankDataCanBeLoaded = {count3} CustDataCanBeLoaded = {count4} DetailsDataCanBeLoaded = {count5}"); } Delegate[] dglist = SQLVSelChange?.GetInvocationList(); if (Flags.EventHandlerDebug) { if (dglist != null) { foreach (var item in dglist) { Console.WriteLine($"SQLVSelChange - {item.Target.ToString ()}\r\nMethod = {item.Method.ToString ()}"); } } Delegate[] dglist2 = EditDbSelChange?.GetInvocationList(); if (dglist2 != null) { foreach (var item in dglist2) { Console.WriteLine($"EditDbSelChange - {item.Target.ToString ()}\r\nMethod = {item.Method.ToString ()}"); } } Console.WriteLine($"SQLVSelChange = {SQLVSelChange?.ToString ()},\r\nEditDbSelChange = {EditDbSelChange?.ToString ()}"); } }