Beispiel #1
0
		/// <summary>
		/// Callback for db change notifications
		/// </summary>
		/// <param name="sender"></param>
		public void DbHasChanged (object sender, DataChangeArgs args)
		{
			DataGrid cvm = sender as DataGrid;
			if (cvm.Name != "DetailsGrid")
				Console.WriteLine ($"\nDetailsViewModel received Data Change in \"{args.DbName}\" Db");
			if (args.DbName != "DETAILS")
			{
				// need to update our Collection
				DataGrid d = sender as DataGrid;
				{
					d.Refresh ();
					try
					{
						if (Flags.SqlDetGrid == null) return;

						if (args.DbName != "DETAILS")
						{
							int curr = Flags.SqlDetGrid.SelectedIndex;
							if (curr >= 0)
							{
								LoadDetailsTask ();
								Flags.SqlDetGrid.SelectedIndex = curr;
								Flags.SqlDetGrid.Refresh ();
							}
							Console.WriteLine ($"\nDB REFRESH performed in DetailsViewModel");
						}
					}
					catch (Exception ex)
					{
						Console.WriteLine ($"\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nDB REFRESH UPDATE ERROR in DetailsViewModel\n{ex.Message} : {ex.Data}");
					}

				}
			}
		}
        /// <summary>
        /// Callback handler for db change notifications sent by another SqlDbViewer
        /// We have to try to work out whether we have one or more other viewers open
        /// and update their datagris as relevant
        /// </summary>
        /// <param name="sender"></param>
        //**************************************************************************************************************************************************************//
        public void DbHasChangedHandler(SqlDbViewer sender, DataGrid Grid, DataChangeArgs args)
        {
            if (Grid.Name == "BankGrid")
            {
                return;                         // Nothing to do, it was us that sent the broadcast
            }
            // Send it to the correct open viewer window
            if (Flags.SqlBankViewer != null)
            {
                Flags.SqlBankViewer.ReloadBankOnUpdateNotification(sender, Grid, args);
            }
            if (Flags.SqlCustViewer != null)
            {
                Flags.SqlCustViewer.ReloadCustomerOnUpdateNotification(sender, Grid, args);
            }
            if (Flags.SqlDetViewer != null)
            {
                Flags.SqlDetViewer.ReloadDetailsOnUpdateNotification(sender, Grid, args);
            }

            // See if we need to update EditDb window as well
            if (Flags.CurrentEditDbViewer != null)
            {
                Flags.CurrentEditDbViewer.DbChangedHandler(sender, Grid, args);
            }
            return;
        }
Beispiel #3
0
//		public event NotifyCollectionChangedEventHandler CollectionChanged;

        /// <summary>
        ///  Function that is called to broadcast a notification to whoever to
        ///  notify that one of the Obs collections has been changed by something
        /// </summary>
        /// <param name="o"> The sending object</param>
        /// <param name="args"> Sender name and Db Type</param>
        private void SendDataChanged(object o, string dbName)
        {
            DataChangeArgs dca = new DataChangeArgs();

            dca.SenderName = o.ToString();
            dca.DbName     = dbName;
            if (NotifyOfDataChange != null)
            {
                NotifyOfDataChange(this);
            }
        }
 /// Callback for db change notifications
 /// </summary>
 /// <param name="sender"></param>
 public void DbHasChangedHandler(SqlDbViewer sender, DataGrid Grid, DataChangeArgs args)
 {
     if (Flags.SqlBankViewer != null)
     {
         Flags.SqlBankViewer.ReloadBankOnUpdateNotification(sender, Grid, args);
     }
     if (Flags.SqlCustViewer != null)
     {
         Flags.SqlCustViewer.ReloadCustomerOnUpdateNotification(sender, Grid, args);
     }
     if (Flags.SqlDetViewer != null)
     {
         Flags.SqlDetViewer.ReloadDetailsOnUpdateNotification(sender, Grid, args);
     }
     return;
 }
        /// <summary>
        /// Callback for db change notifications
        /// </summary>
        /// <param name="sender"></param>
        public void DbHasChanged(object sender, DataChangeArgs args)
        {
            DataGrid cvm = sender as DataGrid;

            if (cvm.Name != "CustomerGrid")
            {
                Console.WriteLine($"\nCustomerViewModel received Data Change in \"{args.DbName}\" Db");
            }
            if (args.DbName != "CUSTOMER")
            {
                // need to update our Collection
                DataGrid d = sender as DataGrid;
                {
                    d.Refresh();
                    try
                    {
                        if (Flags.SqlCustGrid == null)
                        {
                            return;
                        }

                        CustomerViewModel cv = CustomersObs.ElementAt(d.SelectedIndex) as CustomerViewModel;
                        int hash             = cv.GetHashCode();
                        if (args.DbName != "CUSTOMER")

                        {
                            int curr = Flags.SqlCustGrid.SelectedIndex;
                            if (curr >= 0)
                            {
                                LoadCustomerTaskInSortOrder();
                                Flags.SqlCustGrid.SelectedIndex = curr;
                                Flags.SqlCustGrid.Refresh();
                            }
                            Console.WriteLine($"\nDB REFRESH performed in CustomerViewModel");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nDB REFRESH UPDATE ERROR in CustomerViewModel\n{ex.Message} : {ex.Data}");
                    }
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Callback handler for db change notifications snet by SqlDbViewer
        /// </summary>
        /// <param name="sender"></param>
        public void DbHasChanged(object sender, DataChangeArgs args)
        {
            DataGrid cvm = sender as DataGrid;

            if (cvm.Name != "BankGrid")
            {
                Console.WriteLine($"\nBankAccount ViewModel received Data Change in \"{args.DbName}\" Db");
            }
            if (args.DbName != "BANKACCOUNT")
            {
                // need to update our Collection
                DataGrid d = sender as DataGrid;
                {
                    d.Refresh();
                    try
                    {
                        if (Flags.SqlBankGrid == null)
                        {
                            return;
                        }

                        if (args.DbName != "BANKACCOUNT")
                        {
                            int curr = Flags.SqlBankGrid.SelectedIndex;
                            if (curr >= 0)
                            {
                                LoadBankTaskInSortOrder();
                                Flags.SqlBankGrid.SelectedIndex = curr;
                                Flags.SqlBankGrid.Refresh();
                            }
                            Console.WriteLine($"\nDB REFRESH performed in BankAccountViewModel");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nDB REFRESH UPDATE ERROR in BankAccountViewModel\n{ex.Message} : {ex.Data}");
                    }
                }
            }
        }