/// <summary> /// Call when the key ministry changes /// </summary> public static void OnKeyMinistryChanged(GiftBatchTDSAGiftDetailRow ACurrentDetailRow, TFrmPetraEditUtils APetraUtilsObject, TCmbAutoPopulated ACmbKeyMinistries, TtxtAutoPopulatedButtonLabel ATxtDetailRecipientKey, TextBox ATxtDetailRecipientKeyMinistry, bool ARecipientKeyChangingFlag, ref bool AInKeyMinistryChangingFlag) { if ((ACurrentDetailRow == null) || AInKeyMinistryChangingFlag || ARecipientKeyChangingFlag || APetraUtilsObject.SuppressChangeDetection || ATxtDetailRecipientKeyMinistry.Visible) { return; } string KeyMinistry = ACmbKeyMinistries.GetSelectedDescription(); string RecipientKey = ACmbKeyMinistries.GetSelectedInt64().ToString(); try { AInKeyMinistryChangingFlag = true; if (ACmbKeyMinistries.Count == 0) { ACmbKeyMinistries.SelectedIndex = -1; if (ATxtDetailRecipientKeyMinistry.Text != string.Empty) { ATxtDetailRecipientKeyMinistry.Text = string.Empty; } } else { // if key ministry has actually changed if ((ATxtDetailRecipientKeyMinistry.Text != KeyMinistry) || (ACurrentDetailRow.RecipientKeyMinistry != KeyMinistry)) { ATxtDetailRecipientKeyMinistry.Text = KeyMinistry; ACurrentDetailRow.RecipientKeyMinistry = KeyMinistry; } if (Convert.ToInt64(ATxtDetailRecipientKey.Text) != Convert.ToInt64(RecipientKey)) { ATxtDetailRecipientKey.Text = RecipientKey; } } } finally { AInKeyMinistryChangingFlag = false; } }