Exemplo n.º 1
0
        /// <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
            }
        }
Exemplo n.º 2
0
        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 ()}");
            }
        }