diff --git a/PROMS/FlexableMessageBox/FlexibleMessageBox.cs b/PROMS/FlexableMessageBox/FlexibleMessageBox.cs
index 7b4c4493..535b983a 100644
--- a/PROMS/FlexableMessageBox/FlexibleMessageBox.cs
+++ b/PROMS/FlexableMessageBox/FlexibleMessageBox.cs
@@ -241,6 +241,21 @@ namespace JR.Utils.GUI.Forms
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton);
}
+ ///
+ /// Shows the specified message box.
+ ///
+ /// The owner.
+ /// The text.
+ /// The caption.
+ /// The buttons.
+ /// The icon.
+ /// The default button.
+ /// The dialog result.
+ public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
+ {
+ return FlexibleMessageBoxForm.ShowCustom(null, text, caption, buttons, icon);
+ }
+
#endregion
#region Internal form class
@@ -420,15 +435,15 @@ namespace JR.Utils.GUI.Forms
private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " ";
//These are the possible buttons (in a standard MessageBox)
- private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE };
-
+ private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE, OVERWRITE, RENAME };
+
//These are the buttons texts for different languages.
//If you want to add a new language, add it here and in the GetButtonText-Function
private enum TwoLetterISOLanguageID { en, de, es, it };
- private static readonly String[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore" }; //Note: This is also the fallback language
- private static readonly String[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren" };
- private static readonly String[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar" };
- private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora" };
+ private static readonly String[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore", "&Overwrite", "&Rename" }; //Note: This is also the fallback language
+ private static readonly String[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren", "&Overwrite", "&Rename" };
+ private static readonly String[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar", "&Overwrite", "&Rename" };
+ private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora", "&Overwrite", "&Rename" };
#endregion
@@ -693,6 +708,7 @@ namespace JR.Utils.GUI.Forms
flexibleMessageBoxForm.CancelButton = flexibleMessageBoxForm.button3;
break;
+
case MessageBoxButtons.OK:
default:
@@ -709,16 +725,38 @@ namespace JR.Utils.GUI.Forms
flexibleMessageBoxForm.defaultButton = defaultButton;
}
- #endregion
+ private static void SetDialogButtonsCustom(FlexibleMessageBoxForm flexibleMessageBoxForm)
+ {
+ flexibleMessageBoxForm.visibleButtonsCount = 3;
- #region Private event handlers
+ flexibleMessageBoxForm.button1.Visible = true;
+ flexibleMessageBoxForm.button1.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.CANCEL);
+ flexibleMessageBoxForm.button1.DialogResult = DialogResult.Abort;
- ///
- /// Handles the Shown event of the FlexibleMessageBoxForm control.
- ///
- /// The source of the event.
- /// The instance containing the event data.
- private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
+ flexibleMessageBoxForm.button2.Visible = true;
+ flexibleMessageBoxForm.button2.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.OVERWRITE);
+ flexibleMessageBoxForm.button2.DialogResult = DialogResult.Retry;
+
+ flexibleMessageBoxForm.button3.Visible = true;
+ flexibleMessageBoxForm.button3.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.RENAME);
+ flexibleMessageBoxForm.button3.DialogResult = DialogResult.Ignore;
+
+ flexibleMessageBoxForm.ControlBox = false;
+ }
+
+
+
+
+ #endregion
+
+ #region Private event handlers
+
+ ///
+ /// Handles the Shown event of the FlexibleMessageBoxForm control.
+ ///
+ /// The source of the event.
+ /// The instance containing the event data.
+ private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
{
int buttonIndexToFocus = 1;
Button buttonToFocus;
@@ -866,6 +904,46 @@ namespace JR.Utils.GUI.Forms
return flexibleMessageBoxForm.ShowDialog(owner);
}
+ ///
+ /// Shows the specified message box.
+ ///
+ /// The owner.
+ /// The text.
+ /// The caption.
+ /// The buttons.
+ /// The icon.
+ /// The default button.
+ /// The dialog result.
+ public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
+ {
+ //Create a new instance of the FlexibleMessageBox form
+ var flexibleMessageBoxForm = new FlexibleMessageBoxForm();
+ flexibleMessageBoxForm.ShowInTaskbar = false;
+
+ //Bind the caption and the message text
+ flexibleMessageBoxForm.CaptionText = caption;
+ flexibleMessageBoxForm.MessageText = text;
+ flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
+
+ //Set the buttons visibilities and texts. Also set a default button.
+ SetDialogButtonsCustom(flexibleMessageBoxForm);
+
+ //Set the dialogs icon. When no icon is used: Correct placement and width of rich text box.
+ SetDialogIcon(flexibleMessageBoxForm, icon);
+
+ //Set the font for all controls
+ flexibleMessageBoxForm.Font = FONT;
+ flexibleMessageBoxForm.richTextBoxMessage.Font = FONT;
+
+ //Calculate the dialogs start size (Try to auto-size width to show longest text row). Also set the maximum dialog size.
+ SetDialogSizes(flexibleMessageBoxForm, text, caption);
+
+ //Set the dialogs start position when given. Otherwise center the dialog on the current screen.
+ SetDialogStartPosition(flexibleMessageBoxForm, owner);
+ //Show the dialog
+ return flexibleMessageBoxForm.ShowDialog(owner);
+ }
+
#endregion
} //class FlexibleMessageBoxForm
diff --git a/PROMS/Formats/fmtall/AEPAPPRall.xml b/PROMS/Formats/fmtall/AEPAPPRall.xml
index 8f7b9f11..281c30cb 100644
Binary files a/PROMS/Formats/fmtall/AEPAPPRall.xml and b/PROMS/Formats/fmtall/AEPAPPRall.xml differ
diff --git a/PROMS/Formats/fmtall/AEPCHID_00all.xml b/PROMS/Formats/fmtall/AEPCHID_00all.xml
index 44256210..5b8df9f7 100644
Binary files a/PROMS/Formats/fmtall/AEPCHID_00all.xml and b/PROMS/Formats/fmtall/AEPCHID_00all.xml differ
diff --git a/PROMS/Formats/fmtall/AEPCHIDall.xml b/PROMS/Formats/fmtall/AEPCHIDall.xml
index 7d605626..f23e30bc 100644
Binary files a/PROMS/Formats/fmtall/AEPCHIDall.xml and b/PROMS/Formats/fmtall/AEPCHIDall.xml differ
diff --git a/PROMS/Formats/fmtall/AEPDEVall.xml b/PROMS/Formats/fmtall/AEPDEVall.xml
index 00b1fe76..f09fd5a0 100644
Binary files a/PROMS/Formats/fmtall/AEPDEVall.xml and b/PROMS/Formats/fmtall/AEPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/AEPSAMGFPall.xml b/PROMS/Formats/fmtall/AEPSAMGFPall.xml
index 08fed244..170b6e4c 100644
Binary files a/PROMS/Formats/fmtall/AEPSAMGFPall.xml and b/PROMS/Formats/fmtall/AEPSAMGFPall.xml differ
diff --git a/PROMS/Formats/fmtall/AEPSAMG_01all.xml b/PROMS/Formats/fmtall/AEPSAMG_01all.xml
index eed16e42..40cb55c8 100644
Binary files a/PROMS/Formats/fmtall/AEPSAMG_01all.xml and b/PROMS/Formats/fmtall/AEPSAMG_01all.xml differ
diff --git a/PROMS/Formats/fmtall/AEPSAMG_02all.xml b/PROMS/Formats/fmtall/AEPSAMG_02all.xml
index 1b647254..e5932e82 100644
Binary files a/PROMS/Formats/fmtall/AEPSAMG_02all.xml and b/PROMS/Formats/fmtall/AEPSAMG_02all.xml differ
diff --git a/PROMS/Formats/fmtall/AEPSAMGall.xml b/PROMS/Formats/fmtall/AEPSAMGall.xml
index deb0b289..2003588c 100644
Binary files a/PROMS/Formats/fmtall/AEPSAMGall.xml and b/PROMS/Formats/fmtall/AEPSAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/AEP_00all.xml b/PROMS/Formats/fmtall/AEP_00all.xml
index 340d6811..3dbb09c3 100644
Binary files a/PROMS/Formats/fmtall/AEP_00all.xml and b/PROMS/Formats/fmtall/AEP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/AEP_01all.xml b/PROMS/Formats/fmtall/AEP_01all.xml
index 112568da..ee599216 100644
Binary files a/PROMS/Formats/fmtall/AEP_01all.xml and b/PROMS/Formats/fmtall/AEP_01all.xml differ
diff --git a/PROMS/Formats/fmtall/AEP_02all.xml b/PROMS/Formats/fmtall/AEP_02all.xml
index 00f02386..cd20bc82 100644
Binary files a/PROMS/Formats/fmtall/AEP_02all.xml and b/PROMS/Formats/fmtall/AEP_02all.xml differ
diff --git a/PROMS/Formats/fmtall/AEPall.xml b/PROMS/Formats/fmtall/AEPall.xml
index f05612c1..0aeb6110 100644
Binary files a/PROMS/Formats/fmtall/AEPall.xml and b/PROMS/Formats/fmtall/AEPall.xml differ
diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml
index e08cd3f3..acf7b62d 100644
Binary files a/PROMS/Formats/fmtall/BASEall.xml and b/PROMS/Formats/fmtall/BASEall.xml differ
diff --git a/PROMS/Formats/fmtall/BGEALNall.xml b/PROMS/Formats/fmtall/BGEALNall.xml
index bd58d61a..7a3136f9 100644
Binary files a/PROMS/Formats/fmtall/BGEALNall.xml and b/PROMS/Formats/fmtall/BGEALNall.xml differ
diff --git a/PROMS/Formats/fmtall/BGEEOP_00all.xml b/PROMS/Formats/fmtall/BGEEOP_00all.xml
index 79e13513..65f648ae 100644
Binary files a/PROMS/Formats/fmtall/BGEEOP_00all.xml and b/PROMS/Formats/fmtall/BGEEOP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/BGEEOPall.xml b/PROMS/Formats/fmtall/BGEEOPall.xml
index 509dc770..e5e1c8c9 100644
Binary files a/PROMS/Formats/fmtall/BGEEOPall.xml and b/PROMS/Formats/fmtall/BGEEOPall.xml differ
diff --git a/PROMS/Formats/fmtall/BGEOI_00all.xml b/PROMS/Formats/fmtall/BGEOI_00all.xml
index 3964d454..423c88d2 100644
Binary files a/PROMS/Formats/fmtall/BGEOI_00all.xml and b/PROMS/Formats/fmtall/BGEOI_00all.xml differ
diff --git a/PROMS/Formats/fmtall/BGEOIall.xml b/PROMS/Formats/fmtall/BGEOIall.xml
index ed699d05..23460136 100644
Binary files a/PROMS/Formats/fmtall/BGEOIall.xml and b/PROMS/Formats/fmtall/BGEOIall.xml differ
diff --git a/PROMS/Formats/fmtall/BGESAM1all.xml b/PROMS/Formats/fmtall/BGESAM1all.xml
index 6ec07e2d..2a357cd3 100644
Binary files a/PROMS/Formats/fmtall/BGESAM1all.xml and b/PROMS/Formats/fmtall/BGESAM1all.xml differ
diff --git a/PROMS/Formats/fmtall/BGESTPall.xml b/PROMS/Formats/fmtall/BGESTPall.xml
index ef860c71..4a865807 100644
Binary files a/PROMS/Formats/fmtall/BGESTPall.xml and b/PROMS/Formats/fmtall/BGESTPall.xml differ
diff --git a/PROMS/Formats/fmtall/BGEVLall.xml b/PROMS/Formats/fmtall/BGEVLall.xml
index d7758ad0..b616c0b9 100644
Binary files a/PROMS/Formats/fmtall/BGEVLall.xml and b/PROMS/Formats/fmtall/BGEVLall.xml differ
diff --git a/PROMS/Formats/fmtall/BNPP1Newall.xml b/PROMS/Formats/fmtall/BNPP1Newall.xml
index f24a381a..d13df054 100644
Binary files a/PROMS/Formats/fmtall/BNPP1Newall.xml and b/PROMS/Formats/fmtall/BNPP1Newall.xml differ
diff --git a/PROMS/Formats/fmtall/BNPP1all.xml b/PROMS/Formats/fmtall/BNPP1all.xml
index 16f08b8f..1d176017 100644
Binary files a/PROMS/Formats/fmtall/BNPP1all.xml and b/PROMS/Formats/fmtall/BNPP1all.xml differ
diff --git a/PROMS/Formats/fmtall/BNPP2all.xml b/PROMS/Formats/fmtall/BNPP2all.xml
index e86d43a4..bd86f544 100644
Binary files a/PROMS/Formats/fmtall/BNPP2all.xml and b/PROMS/Formats/fmtall/BNPP2all.xml differ
diff --git a/PROMS/Formats/fmtall/BNPPalrall.xml b/PROMS/Formats/fmtall/BNPPalrall.xml
index b6a451e0..9cf45bab 100644
Binary files a/PROMS/Formats/fmtall/BNPPalrall.xml and b/PROMS/Formats/fmtall/BNPPalrall.xml differ
diff --git a/PROMS/Formats/fmtall/BNPPbckall.xml b/PROMS/Formats/fmtall/BNPPbckall.xml
index e1ff5287..6bf87d17 100644
Binary files a/PROMS/Formats/fmtall/BNPPbckall.xml and b/PROMS/Formats/fmtall/BNPPbckall.xml differ
diff --git a/PROMS/Formats/fmtall/BNPPsamall.xml b/PROMS/Formats/fmtall/BNPPsamall.xml
index 955bb9b4..85912464 100644
Binary files a/PROMS/Formats/fmtall/BNPPsamall.xml and b/PROMS/Formats/fmtall/BNPPsamall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPS1all.xml b/PROMS/Formats/fmtall/BVPS1all.xml
index c8963e36..348196de 100644
Binary files a/PROMS/Formats/fmtall/BVPS1all.xml and b/PROMS/Formats/fmtall/BVPS1all.xml differ
diff --git a/PROMS/Formats/fmtall/BVPS2all.xml b/PROMS/Formats/fmtall/BVPS2all.xml
index 9290ebf3..cbcb3d01 100644
Binary files a/PROMS/Formats/fmtall/BVPS2all.xml and b/PROMS/Formats/fmtall/BVPS2all.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSAOPDEVall.xml b/PROMS/Formats/fmtall/BVPSAOPDEVall.xml
index 8d6702ee..fa295fdc 100644
Binary files a/PROMS/Formats/fmtall/BVPSAOPDEVall.xml and b/PROMS/Formats/fmtall/BVPSAOPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSAOPall.xml b/PROMS/Formats/fmtall/BVPSAOPall.xml
index b51753e3..70b95669 100644
Binary files a/PROMS/Formats/fmtall/BVPSAOPall.xml and b/PROMS/Formats/fmtall/BVPSAOPall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSAtchall.xml b/PROMS/Formats/fmtall/BVPSAtchall.xml
index 3d1d4595..f085aaae 100644
Binary files a/PROMS/Formats/fmtall/BVPSAtchall.xml and b/PROMS/Formats/fmtall/BVPSAtchall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSBCKall.xml b/PROMS/Formats/fmtall/BVPSBCKall.xml
index 778c12a4..537ea5d3 100644
Binary files a/PROMS/Formats/fmtall/BVPSBCKall.xml and b/PROMS/Formats/fmtall/BVPSBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSDEVall.xml b/PROMS/Formats/fmtall/BVPSDEVall.xml
index 9552171d..7911d58a 100644
Binary files a/PROMS/Formats/fmtall/BVPSDEVall.xml and b/PROMS/Formats/fmtall/BVPSDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSFlexDEVall.xml b/PROMS/Formats/fmtall/BVPSFlexDEVall.xml
index d9df9932..da6ceabc 100644
Binary files a/PROMS/Formats/fmtall/BVPSFlexDEVall.xml and b/PROMS/Formats/fmtall/BVPSFlexDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSNIBCKall.xml b/PROMS/Formats/fmtall/BVPSNIBCKall.xml
index 2a2df37b..150a0e99 100644
Binary files a/PROMS/Formats/fmtall/BVPSNIBCKall.xml and b/PROMS/Formats/fmtall/BVPSNIBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml b/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml
index fa1ef0c9..8468c05e 100644
Binary files a/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml and b/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml b/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml
index 3244d6e4..d2566122 100644
Binary files a/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml and b/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/BVPSSAMGall.xml b/PROMS/Formats/fmtall/BVPSSAMGall.xml
index 1b4db53f..3830ed6c 100644
Binary files a/PROMS/Formats/fmtall/BVPSSAMGall.xml and b/PROMS/Formats/fmtall/BVPSSAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/CAL1all.xml b/PROMS/Formats/fmtall/CAL1all.xml
index b584e1ab..30754760 100644
Binary files a/PROMS/Formats/fmtall/CAL1all.xml and b/PROMS/Formats/fmtall/CAL1all.xml differ
diff --git a/PROMS/Formats/fmtall/CAL2_00all.xml b/PROMS/Formats/fmtall/CAL2_00all.xml
index 2cceeba1..aae83cbe 100644
Binary files a/PROMS/Formats/fmtall/CAL2_00all.xml and b/PROMS/Formats/fmtall/CAL2_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CAL2all.xml b/PROMS/Formats/fmtall/CAL2all.xml
index 53fc979c..87f3ee82 100644
Binary files a/PROMS/Formats/fmtall/CAL2all.xml and b/PROMS/Formats/fmtall/CAL2all.xml differ
diff --git a/PROMS/Formats/fmtall/CALBCKall.xml b/PROMS/Formats/fmtall/CALBCKall.xml
index b77bfad2..e6dbf06d 100644
Binary files a/PROMS/Formats/fmtall/CALBCKall.xml and b/PROMS/Formats/fmtall/CALBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/CALFSGBCKall.xml b/PROMS/Formats/fmtall/CALFSGBCKall.xml
index f8324ab1..47738900 100644
Binary files a/PROMS/Formats/fmtall/CALFSGBCKall.xml and b/PROMS/Formats/fmtall/CALFSGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/CALOTOall.xml b/PROMS/Formats/fmtall/CALOTOall.xml
index 16b95356..db3d8424 100644
Binary files a/PROMS/Formats/fmtall/CALOTOall.xml and b/PROMS/Formats/fmtall/CALOTOall.xml differ
diff --git a/PROMS/Formats/fmtall/CALSAMall.xml b/PROMS/Formats/fmtall/CALSAMall.xml
index 443c285c..c0e6e7fc 100644
Binary files a/PROMS/Formats/fmtall/CALSAMall.xml and b/PROMS/Formats/fmtall/CALSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/CATADEVall.xml b/PROMS/Formats/fmtall/CATADEVall.xml
index 98e11afb..9fb46055 100644
Binary files a/PROMS/Formats/fmtall/CATADEVall.xml and b/PROMS/Formats/fmtall/CATADEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CATBOXall.xml b/PROMS/Formats/fmtall/CATBOXall.xml
index b36ef9ea..820c42c9 100644
Binary files a/PROMS/Formats/fmtall/CATBOXall.xml and b/PROMS/Formats/fmtall/CATBOXall.xml differ
diff --git a/PROMS/Formats/fmtall/CATDEVall.xml b/PROMS/Formats/fmtall/CATDEVall.xml
index 7de7047a..891b720e 100644
Binary files a/PROMS/Formats/fmtall/CATDEVall.xml and b/PROMS/Formats/fmtall/CATDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CATEBCKall.xml b/PROMS/Formats/fmtall/CATEBCKall.xml
index bcc3cae5..2947594f 100644
Binary files a/PROMS/Formats/fmtall/CATEBCKall.xml and b/PROMS/Formats/fmtall/CATEBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/CATSAMall.xml b/PROMS/Formats/fmtall/CATSAMall.xml
index cb87727e..e9614ae2 100644
Binary files a/PROMS/Formats/fmtall/CATSAMall.xml and b/PROMS/Formats/fmtall/CATSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/CATall.xml b/PROMS/Formats/fmtall/CATall.xml
index 423c553b..57915e32 100644
Binary files a/PROMS/Formats/fmtall/CATall.xml and b/PROMS/Formats/fmtall/CATall.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCK2NHCall.xml b/PROMS/Formats/fmtall/CPBCK2NHCall.xml
index 56f42580..f52712fc 100644
Binary files a/PROMS/Formats/fmtall/CPBCK2NHCall.xml and b/PROMS/Formats/fmtall/CPBCK2NHCall.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCK2all.xml b/PROMS/Formats/fmtall/CPBCK2all.xml
index 927f93aa..41fb44e3 100644
Binary files a/PROMS/Formats/fmtall/CPBCK2all.xml and b/PROMS/Formats/fmtall/CPBCK2all.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCKNHC_00all.xml b/PROMS/Formats/fmtall/CPBCKNHC_00all.xml
index a600eed9..daa3a4ef 100644
Binary files a/PROMS/Formats/fmtall/CPBCKNHC_00all.xml and b/PROMS/Formats/fmtall/CPBCKNHC_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCKNHC_01all.xml b/PROMS/Formats/fmtall/CPBCKNHC_01all.xml
index 386ce9fe..d9e89796 100644
Binary files a/PROMS/Formats/fmtall/CPBCKNHC_01all.xml and b/PROMS/Formats/fmtall/CPBCKNHC_01all.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCKNHCall.xml b/PROMS/Formats/fmtall/CPBCKNHCall.xml
index 139f6851..ddac1c5a 100644
Binary files a/PROMS/Formats/fmtall/CPBCKNHCall.xml and b/PROMS/Formats/fmtall/CPBCKNHCall.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCK_00all.xml b/PROMS/Formats/fmtall/CPBCK_00all.xml
index 9cda4a6c..bb7bcd67 100644
Binary files a/PROMS/Formats/fmtall/CPBCK_00all.xml and b/PROMS/Formats/fmtall/CPBCK_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCK_01all.xml b/PROMS/Formats/fmtall/CPBCK_01all.xml
index d42d1ef9..93fca284 100644
Binary files a/PROMS/Formats/fmtall/CPBCK_01all.xml and b/PROMS/Formats/fmtall/CPBCK_01all.xml differ
diff --git a/PROMS/Formats/fmtall/CPBCKall.xml b/PROMS/Formats/fmtall/CPBCKall.xml
index 1011cb56..d476b8b5 100644
Binary files a/PROMS/Formats/fmtall/CPBCKall.xml and b/PROMS/Formats/fmtall/CPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/CPDEVall.xml b/PROMS/Formats/fmtall/CPDEVall.xml
index de28c2d3..cbe47358 100644
Binary files a/PROMS/Formats/fmtall/CPDEVall.xml and b/PROMS/Formats/fmtall/CPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CPFDEVall.xml b/PROMS/Formats/fmtall/CPFDEVall.xml
index 44247a28..71cdce58 100644
Binary files a/PROMS/Formats/fmtall/CPFDEVall.xml and b/PROMS/Formats/fmtall/CPFDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CPFDataall.xml b/PROMS/Formats/fmtall/CPFDataall.xml
index 1d0481ba..054e6b46 100644
Binary files a/PROMS/Formats/fmtall/CPFDataall.xml and b/PROMS/Formats/fmtall/CPFDataall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLAall.xml b/PROMS/Formats/fmtall/CPLAall.xml
index 23bc820e..9037b47b 100644
Binary files a/PROMS/Formats/fmtall/CPLAall.xml and b/PROMS/Formats/fmtall/CPLAall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLRDEVall.xml b/PROMS/Formats/fmtall/CPLRDEVall.xml
index c130953e..68edea59 100644
Binary files a/PROMS/Formats/fmtall/CPLRDEVall.xml and b/PROMS/Formats/fmtall/CPLRDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLS2all.xml b/PROMS/Formats/fmtall/CPLS2all.xml
index 99491631..0d84c250 100644
Binary files a/PROMS/Formats/fmtall/CPLS2all.xml and b/PROMS/Formats/fmtall/CPLS2all.xml differ
diff --git a/PROMS/Formats/fmtall/CPLSAMall.xml b/PROMS/Formats/fmtall/CPLSAMall.xml
index ebe547a8..5cef1de4 100644
Binary files a/PROMS/Formats/fmtall/CPLSAMall.xml and b/PROMS/Formats/fmtall/CPLSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLSDEVall.xml b/PROMS/Formats/fmtall/CPLSDEVall.xml
index d87cba46..520bded3 100644
Binary files a/PROMS/Formats/fmtall/CPLSDEVall.xml and b/PROMS/Formats/fmtall/CPLSDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLSSDDall.xml b/PROMS/Formats/fmtall/CPLSSDDall.xml
index 53c6b5df..0fc020c5 100644
Binary files a/PROMS/Formats/fmtall/CPLSSDDall.xml and b/PROMS/Formats/fmtall/CPLSSDDall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLSSUMall.xml b/PROMS/Formats/fmtall/CPLSSUMall.xml
index 01a9ccd6..b88d5fdf 100644
Binary files a/PROMS/Formats/fmtall/CPLSSUMall.xml and b/PROMS/Formats/fmtall/CPLSSUMall.xml differ
diff --git a/PROMS/Formats/fmtall/CPLSall.xml b/PROMS/Formats/fmtall/CPLSall.xml
index 23268ada..f2cdd5d6 100644
Binary files a/PROMS/Formats/fmtall/CPLSall.xml and b/PROMS/Formats/fmtall/CPLSall.xml differ
diff --git a/PROMS/Formats/fmtall/CPL_00all.xml b/PROMS/Formats/fmtall/CPL_00all.xml
index a260a028..1f20da7e 100644
Binary files a/PROMS/Formats/fmtall/CPL_00all.xml and b/PROMS/Formats/fmtall/CPL_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CPL_01all.xml b/PROMS/Formats/fmtall/CPL_01all.xml
index dfc8520e..ec953701 100644
Binary files a/PROMS/Formats/fmtall/CPL_01all.xml and b/PROMS/Formats/fmtall/CPL_01all.xml differ
diff --git a/PROMS/Formats/fmtall/CPL_02all.xml b/PROMS/Formats/fmtall/CPL_02all.xml
index bfaceb42..2ce46c39 100644
Binary files a/PROMS/Formats/fmtall/CPL_02all.xml and b/PROMS/Formats/fmtall/CPL_02all.xml differ
diff --git a/PROMS/Formats/fmtall/CPL_03all.xml b/PROMS/Formats/fmtall/CPL_03all.xml
index dca4a687..ed9f7660 100644
Binary files a/PROMS/Formats/fmtall/CPL_03all.xml and b/PROMS/Formats/fmtall/CPL_03all.xml differ
diff --git a/PROMS/Formats/fmtall/CPLall.xml b/PROMS/Formats/fmtall/CPLall.xml
index a96ee31b..590e163a 100644
Binary files a/PROMS/Formats/fmtall/CPLall.xml and b/PROMS/Formats/fmtall/CPLall.xml differ
diff --git a/PROMS/Formats/fmtall/CPSAMGDEVall.xml b/PROMS/Formats/fmtall/CPSAMGDEVall.xml
index ea200aaf..a785b79a 100644
Binary files a/PROMS/Formats/fmtall/CPSAMGDEVall.xml and b/PROMS/Formats/fmtall/CPSAMGDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CPSAMGDataall.xml b/PROMS/Formats/fmtall/CPSAMGDataall.xml
index bb413c1e..1cad3459 100644
Binary files a/PROMS/Formats/fmtall/CPSAMGDataall.xml and b/PROMS/Formats/fmtall/CPSAMGDataall.xml differ
diff --git a/PROMS/Formats/fmtall/CWEDEVall.xml b/PROMS/Formats/fmtall/CWEDEVall.xml
index e1b7e678..6027974e 100644
Binary files a/PROMS/Formats/fmtall/CWEDEVall.xml and b/PROMS/Formats/fmtall/CWEDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/CWER_00all.xml b/PROMS/Formats/fmtall/CWER_00all.xml
index 98de1dcf..5e807c24 100644
Binary files a/PROMS/Formats/fmtall/CWER_00all.xml and b/PROMS/Formats/fmtall/CWER_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CWER_01all.xml b/PROMS/Formats/fmtall/CWER_01all.xml
index eda02b59..5ea51cf1 100644
Binary files a/PROMS/Formats/fmtall/CWER_01all.xml and b/PROMS/Formats/fmtall/CWER_01all.xml differ
diff --git a/PROMS/Formats/fmtall/CWERall.xml b/PROMS/Formats/fmtall/CWERall.xml
index d87c0579..80434193 100644
Binary files a/PROMS/Formats/fmtall/CWERall.xml and b/PROMS/Formats/fmtall/CWERall.xml differ
diff --git a/PROMS/Formats/fmtall/CWE_00all.xml b/PROMS/Formats/fmtall/CWE_00all.xml
index bca6a430..83325fc8 100644
Binary files a/PROMS/Formats/fmtall/CWE_00all.xml and b/PROMS/Formats/fmtall/CWE_00all.xml differ
diff --git a/PROMS/Formats/fmtall/CWE_01all.xml b/PROMS/Formats/fmtall/CWE_01all.xml
index 811f09d1..6f9cf99a 100644
Binary files a/PROMS/Formats/fmtall/CWE_01all.xml and b/PROMS/Formats/fmtall/CWE_01all.xml differ
diff --git a/PROMS/Formats/fmtall/CWEall.xml b/PROMS/Formats/fmtall/CWEall.xml
index 0dbf6262..03a51696 100644
Binary files a/PROMS/Formats/fmtall/CWEall.xml and b/PROMS/Formats/fmtall/CWEall.xml differ
diff --git a/PROMS/Formats/fmtall/ComPeakFlex11all.xml b/PROMS/Formats/fmtall/ComPeakFlex11all.xml
index 6ba67177..fda1c8f8 100644
Binary files a/PROMS/Formats/fmtall/ComPeakFlex11all.xml and b/PROMS/Formats/fmtall/ComPeakFlex11all.xml differ
diff --git a/PROMS/Formats/fmtall/ComPeakFlexall.xml b/PROMS/Formats/fmtall/ComPeakFlexall.xml
index 1a134506..aa9cb01a 100644
Binary files a/PROMS/Formats/fmtall/ComPeakFlexall.xml and b/PROMS/Formats/fmtall/ComPeakFlexall.xml differ
diff --git a/PROMS/Formats/fmtall/EBCKall.xml b/PROMS/Formats/fmtall/EBCKall.xml
index e9120c57..0e1e729e 100644
Binary files a/PROMS/Formats/fmtall/EBCKall.xml and b/PROMS/Formats/fmtall/EBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/EFSGBCKall.xml b/PROMS/Formats/fmtall/EFSGBCKall.xml
index de6c2ae5..95a44100 100644
Binary files a/PROMS/Formats/fmtall/EFSGBCKall.xml and b/PROMS/Formats/fmtall/EFSGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/ELFDEVall.xml b/PROMS/Formats/fmtall/ELFDEVall.xml
index a981400b..5b762e4b 100644
Binary files a/PROMS/Formats/fmtall/ELFDEVall.xml and b/PROMS/Formats/fmtall/ELFDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/ENall.xml b/PROMS/Formats/fmtall/ENall.xml
index a7b8cd99..573856f7 100644
Binary files a/PROMS/Formats/fmtall/ENall.xml and b/PROMS/Formats/fmtall/ENall.xml differ
diff --git a/PROMS/Formats/fmtall/ESFDEVall.xml b/PROMS/Formats/fmtall/ESFDEVall.xml
index afefb549..e4935080 100644
Binary files a/PROMS/Formats/fmtall/ESFDEVall.xml and b/PROMS/Formats/fmtall/ESFDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/EXCLN_00all.xml b/PROMS/Formats/fmtall/EXCLN_00all.xml
index bf47abeb..cdca5f29 100644
Binary files a/PROMS/Formats/fmtall/EXCLN_00all.xml and b/PROMS/Formats/fmtall/EXCLN_00all.xml differ
diff --git a/PROMS/Formats/fmtall/EXCLN_01all.xml b/PROMS/Formats/fmtall/EXCLN_01all.xml
index 1d7e5495..885f8e09 100644
Binary files a/PROMS/Formats/fmtall/EXCLN_01all.xml and b/PROMS/Formats/fmtall/EXCLN_01all.xml differ
diff --git a/PROMS/Formats/fmtall/EXCLNall.xml b/PROMS/Formats/fmtall/EXCLNall.xml
index 58f56bcc..f024c736 100644
Binary files a/PROMS/Formats/fmtall/EXCLNall.xml and b/PROMS/Formats/fmtall/EXCLNall.xml differ
diff --git a/PROMS/Formats/fmtall/EXEAOPBCKall.xml b/PROMS/Formats/fmtall/EXEAOPBCKall.xml
index 141383f5..d5e8db25 100644
Binary files a/PROMS/Formats/fmtall/EXEAOPBCKall.xml and b/PROMS/Formats/fmtall/EXEAOPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/EXEBCK_00all.xml b/PROMS/Formats/fmtall/EXEBCK_00all.xml
index abbcea50..3871a131 100644
Binary files a/PROMS/Formats/fmtall/EXEBCK_00all.xml and b/PROMS/Formats/fmtall/EXEBCK_00all.xml differ
diff --git a/PROMS/Formats/fmtall/EXEBCKall.xml b/PROMS/Formats/fmtall/EXEBCKall.xml
index c59ffcca..146af37a 100644
Binary files a/PROMS/Formats/fmtall/EXEBCKall.xml and b/PROMS/Formats/fmtall/EXEBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/EXEDEVall.xml b/PROMS/Formats/fmtall/EXEDEVall.xml
index 68c53f98..7eebb869 100644
Binary files a/PROMS/Formats/fmtall/EXEDEVall.xml and b/PROMS/Formats/fmtall/EXEDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/EXEFLXBCKall.xml b/PROMS/Formats/fmtall/EXEFLXBCKall.xml
index 70cad623..2b5f128d 100644
Binary files a/PROMS/Formats/fmtall/EXEFLXBCKall.xml and b/PROMS/Formats/fmtall/EXEFLXBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/EXESAMGBCKall.xml b/PROMS/Formats/fmtall/EXESAMGBCKall.xml
index ddc29f8d..1f483867 100644
Binary files a/PROMS/Formats/fmtall/EXESAMGBCKall.xml and b/PROMS/Formats/fmtall/EXESAMGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/EXESAMall.xml b/PROMS/Formats/fmtall/EXESAMall.xml
index 278493b4..26f9b066 100644
Binary files a/PROMS/Formats/fmtall/EXESAMall.xml and b/PROMS/Formats/fmtall/EXESAMall.xml differ
diff --git a/PROMS/Formats/fmtall/EXP1all.xml b/PROMS/Formats/fmtall/EXP1all.xml
index 3172dddb..fdcb4e95 100644
Binary files a/PROMS/Formats/fmtall/EXP1all.xml and b/PROMS/Formats/fmtall/EXP1all.xml differ
diff --git a/PROMS/Formats/fmtall/EXP2all.xml b/PROMS/Formats/fmtall/EXP2all.xml
index 1793d294..ae69a146 100644
Binary files a/PROMS/Formats/fmtall/EXP2all.xml and b/PROMS/Formats/fmtall/EXP2all.xml differ
diff --git a/PROMS/Formats/fmtall/FNPCASall.xml b/PROMS/Formats/fmtall/FNPCASall.xml
index f931873b..f64883f9 100644
Binary files a/PROMS/Formats/fmtall/FNPCASall.xml and b/PROMS/Formats/fmtall/FNPCASall.xml differ
diff --git a/PROMS/Formats/fmtall/FNPDEVall.xml b/PROMS/Formats/fmtall/FNPDEVall.xml
index 263ff308..b0fcf35a 100644
Binary files a/PROMS/Formats/fmtall/FNPDEVall.xml and b/PROMS/Formats/fmtall/FNPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/FNPEBKall.xml b/PROMS/Formats/fmtall/FNPEBKall.xml
index 838aa146..b375037a 100644
Binary files a/PROMS/Formats/fmtall/FNPEBKall.xml and b/PROMS/Formats/fmtall/FNPEBKall.xml differ
diff --git a/PROMS/Formats/fmtall/FNPNew2all.xml b/PROMS/Formats/fmtall/FNPNew2all.xml
index 36e0ff5a..3f9a3bb4 100644
Binary files a/PROMS/Formats/fmtall/FNPNew2all.xml and b/PROMS/Formats/fmtall/FNPNew2all.xml differ
diff --git a/PROMS/Formats/fmtall/FNPSAM1all.xml b/PROMS/Formats/fmtall/FNPSAM1all.xml
index ee33a666..b55dcc96 100644
Binary files a/PROMS/Formats/fmtall/FNPSAM1all.xml and b/PROMS/Formats/fmtall/FNPSAM1all.xml differ
diff --git a/PROMS/Formats/fmtall/FNP_00all.xml b/PROMS/Formats/fmtall/FNP_00all.xml
index 13284ae3..2cfc9b1f 100644
Binary files a/PROMS/Formats/fmtall/FNP_00all.xml and b/PROMS/Formats/fmtall/FNP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/FNP_01all.xml b/PROMS/Formats/fmtall/FNP_01all.xml
index 4ce4a7cb..79ccc29d 100644
Binary files a/PROMS/Formats/fmtall/FNP_01all.xml and b/PROMS/Formats/fmtall/FNP_01all.xml differ
diff --git a/PROMS/Formats/fmtall/FNPall.xml b/PROMS/Formats/fmtall/FNPall.xml
index 7f612abf..fc1d705e 100644
Binary files a/PROMS/Formats/fmtall/FNPall.xml and b/PROMS/Formats/fmtall/FNPall.xml differ
diff --git a/PROMS/Formats/fmtall/FPLBCKall.xml b/PROMS/Formats/fmtall/FPLBCKall.xml
index e5cdd7e3..3ac118ef 100644
Binary files a/PROMS/Formats/fmtall/FPLBCKall.xml and b/PROMS/Formats/fmtall/FPLBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/FPLall.xml b/PROMS/Formats/fmtall/FPLall.xml
index 8a4fac55..6ea6720e 100644
Binary files a/PROMS/Formats/fmtall/FPLall.xml and b/PROMS/Formats/fmtall/FPLall.xml differ
diff --git a/PROMS/Formats/fmtall/GENDEVall.xml b/PROMS/Formats/fmtall/GENDEVall.xml
index 7cf8b547..51535c24 100644
Binary files a/PROMS/Formats/fmtall/GENDEVall.xml and b/PROMS/Formats/fmtall/GENDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/GENPLANall.xml b/PROMS/Formats/fmtall/GENPLANall.xml
index 50eba234..d6bd95c9 100644
Binary files a/PROMS/Formats/fmtall/GENPLANall.xml and b/PROMS/Formats/fmtall/GENPLANall.xml differ
diff --git a/PROMS/Formats/fmtall/GENSAM2all.xml b/PROMS/Formats/fmtall/GENSAM2all.xml
index 1b7a93a9..ed8a7a97 100644
Binary files a/PROMS/Formats/fmtall/GENSAM2all.xml and b/PROMS/Formats/fmtall/GENSAM2all.xml differ
diff --git a/PROMS/Formats/fmtall/GENSAMall.xml b/PROMS/Formats/fmtall/GENSAMall.xml
index 40678112..8d145328 100644
Binary files a/PROMS/Formats/fmtall/GENSAMall.xml and b/PROMS/Formats/fmtall/GENSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/GENall.xml b/PROMS/Formats/fmtall/GENall.xml
index 05f8bbaf..eba2b47f 100644
Binary files a/PROMS/Formats/fmtall/GENall.xml and b/PROMS/Formats/fmtall/GENall.xml differ
diff --git a/PROMS/Formats/fmtall/GPCA_00all.xml b/PROMS/Formats/fmtall/GPCA_00all.xml
index 3abfb79f..0af1bbc7 100644
Binary files a/PROMS/Formats/fmtall/GPCA_00all.xml and b/PROMS/Formats/fmtall/GPCA_00all.xml differ
diff --git a/PROMS/Formats/fmtall/GPCAall.xml b/PROMS/Formats/fmtall/GPCAall.xml
index 1aa996a1..feec0712 100644
Binary files a/PROMS/Formats/fmtall/GPCAall.xml and b/PROMS/Formats/fmtall/GPCAall.xml differ
diff --git a/PROMS/Formats/fmtall/GPCall.xml b/PROMS/Formats/fmtall/GPCall.xml
index 35cac9e1..82bc35f8 100644
Binary files a/PROMS/Formats/fmtall/GPCall.xml and b/PROMS/Formats/fmtall/GPCall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaAOPBck_00all.xml b/PROMS/Formats/fmtall/GinnaAOPBck_00all.xml
index d419882e..8dba0f71 100644
Binary files a/PROMS/Formats/fmtall/GinnaAOPBck_00all.xml and b/PROMS/Formats/fmtall/GinnaAOPBck_00all.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaAOPBckall.xml b/PROMS/Formats/fmtall/GinnaAOPBckall.xml
index aeb7b152..1379254a 100644
Binary files a/PROMS/Formats/fmtall/GinnaAOPBckall.xml and b/PROMS/Formats/fmtall/GinnaAOPBckall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaAttall.xml b/PROMS/Formats/fmtall/GinnaAttall.xml
index 0d20f160..f08353ed 100644
Binary files a/PROMS/Formats/fmtall/GinnaAttall.xml and b/PROMS/Formats/fmtall/GinnaAttall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaFSGPEall.xml b/PROMS/Formats/fmtall/GinnaFSGPEall.xml
index 9d6b71f3..78860b4e 100644
Binary files a/PROMS/Formats/fmtall/GinnaFSGPEall.xml and b/PROMS/Formats/fmtall/GinnaFSGPEall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaFSGall.xml b/PROMS/Formats/fmtall/GinnaFSGall.xml
index 1ed1097a..b94e7bb7 100644
Binary files a/PROMS/Formats/fmtall/GinnaFSGall.xml and b/PROMS/Formats/fmtall/GinnaFSGall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaFSGbck_00all.xml b/PROMS/Formats/fmtall/GinnaFSGbck_00all.xml
index da8479f9..9a5c447a 100644
Binary files a/PROMS/Formats/fmtall/GinnaFSGbck_00all.xml and b/PROMS/Formats/fmtall/GinnaFSGbck_00all.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaFSGbckall.xml b/PROMS/Formats/fmtall/GinnaFSGbckall.xml
index 310d13f4..cc5dc357 100644
Binary files a/PROMS/Formats/fmtall/GinnaFSGbckall.xml and b/PROMS/Formats/fmtall/GinnaFSGbckall.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaSAMGbck_00all.xml b/PROMS/Formats/fmtall/GinnaSAMGbck_00all.xml
index 4179eb50..188a1213 100644
Binary files a/PROMS/Formats/fmtall/GinnaSAMGbck_00all.xml and b/PROMS/Formats/fmtall/GinnaSAMGbck_00all.xml differ
diff --git a/PROMS/Formats/fmtall/GinnaSAMGbckall.xml b/PROMS/Formats/fmtall/GinnaSAMGbckall.xml
index 31f454a1..5503a3b8 100644
Binary files a/PROMS/Formats/fmtall/GinnaSAMGbckall.xml and b/PROMS/Formats/fmtall/GinnaSAMGbckall.xml differ
diff --git a/PROMS/Formats/fmtall/HLPDEVall.xml b/PROMS/Formats/fmtall/HLPDEVall.xml
index 3779aa7e..a5d31f2b 100644
Binary files a/PROMS/Formats/fmtall/HLPDEVall.xml and b/PROMS/Formats/fmtall/HLPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/HLPall.xml b/PROMS/Formats/fmtall/HLPall.xml
index bbd8d5c5..8aaad979 100644
Binary files a/PROMS/Formats/fmtall/HLPall.xml and b/PROMS/Formats/fmtall/HLPall.xml differ
diff --git a/PROMS/Formats/fmtall/IP2BCKall.xml b/PROMS/Formats/fmtall/IP2BCKall.xml
index dd5d966e..ae3be1e0 100644
Binary files a/PROMS/Formats/fmtall/IP2BCKall.xml and b/PROMS/Formats/fmtall/IP2BCKall.xml differ
diff --git a/PROMS/Formats/fmtall/IP2DEVall.xml b/PROMS/Formats/fmtall/IP2DEVall.xml
index 0424ef0c..12965ae9 100644
Binary files a/PROMS/Formats/fmtall/IP2DEVall.xml and b/PROMS/Formats/fmtall/IP2DEVall.xml differ
diff --git a/PROMS/Formats/fmtall/IP2_00all.xml b/PROMS/Formats/fmtall/IP2_00all.xml
index 57af0573..3b03c532 100644
Binary files a/PROMS/Formats/fmtall/IP2_00all.xml and b/PROMS/Formats/fmtall/IP2_00all.xml differ
diff --git a/PROMS/Formats/fmtall/IP2_01all.xml b/PROMS/Formats/fmtall/IP2_01all.xml
index 163df4cc..4a00ee50 100644
Binary files a/PROMS/Formats/fmtall/IP2_01all.xml and b/PROMS/Formats/fmtall/IP2_01all.xml differ
diff --git a/PROMS/Formats/fmtall/IP2_02all.xml b/PROMS/Formats/fmtall/IP2_02all.xml
index 29d53ada..c709971a 100644
Binary files a/PROMS/Formats/fmtall/IP2_02all.xml and b/PROMS/Formats/fmtall/IP2_02all.xml differ
diff --git a/PROMS/Formats/fmtall/IP2_03all.xml b/PROMS/Formats/fmtall/IP2_03all.xml
index c5c8c924..89c2f667 100644
Binary files a/PROMS/Formats/fmtall/IP2_03all.xml and b/PROMS/Formats/fmtall/IP2_03all.xml differ
diff --git a/PROMS/Formats/fmtall/IP2_04all.xml b/PROMS/Formats/fmtall/IP2_04all.xml
index 1a5d6f52..1f0bce3a 100644
Binary files a/PROMS/Formats/fmtall/IP2_04all.xml and b/PROMS/Formats/fmtall/IP2_04all.xml differ
diff --git a/PROMS/Formats/fmtall/IP2all.xml b/PROMS/Formats/fmtall/IP2all.xml
index 13ccb604..745d6c8a 100644
Binary files a/PROMS/Formats/fmtall/IP2all.xml and b/PROMS/Formats/fmtall/IP2all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3DEV_00all.xml b/PROMS/Formats/fmtall/IP3DEV_00all.xml
index 69b7b347..7056df92 100644
Binary files a/PROMS/Formats/fmtall/IP3DEV_00all.xml and b/PROMS/Formats/fmtall/IP3DEV_00all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3DEVall.xml b/PROMS/Formats/fmtall/IP3DEVall.xml
index 3e99f89e..7e9fe3d2 100644
Binary files a/PROMS/Formats/fmtall/IP3DEVall.xml and b/PROMS/Formats/fmtall/IP3DEVall.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_00all.xml b/PROMS/Formats/fmtall/IP3_00all.xml
index 734d49fc..b9cca806 100644
Binary files a/PROMS/Formats/fmtall/IP3_00all.xml and b/PROMS/Formats/fmtall/IP3_00all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_01all.xml b/PROMS/Formats/fmtall/IP3_01all.xml
index 083837a6..a2f00d02 100644
Binary files a/PROMS/Formats/fmtall/IP3_01all.xml and b/PROMS/Formats/fmtall/IP3_01all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_02all.xml b/PROMS/Formats/fmtall/IP3_02all.xml
index e438b741..f7ebce0f 100644
Binary files a/PROMS/Formats/fmtall/IP3_02all.xml and b/PROMS/Formats/fmtall/IP3_02all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_03all.xml b/PROMS/Formats/fmtall/IP3_03all.xml
index f4adf19a..8958647b 100644
Binary files a/PROMS/Formats/fmtall/IP3_03all.xml and b/PROMS/Formats/fmtall/IP3_03all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_06all.xml b/PROMS/Formats/fmtall/IP3_06all.xml
index 0917f041..8e5343f3 100644
Binary files a/PROMS/Formats/fmtall/IP3_06all.xml and b/PROMS/Formats/fmtall/IP3_06all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_07all.xml b/PROMS/Formats/fmtall/IP3_07all.xml
index 7605f18b..da990ce4 100644
Binary files a/PROMS/Formats/fmtall/IP3_07all.xml and b/PROMS/Formats/fmtall/IP3_07all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_08all.xml b/PROMS/Formats/fmtall/IP3_08all.xml
index a50ab0ca..cb2ce294 100644
Binary files a/PROMS/Formats/fmtall/IP3_08all.xml and b/PROMS/Formats/fmtall/IP3_08all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_09all.xml b/PROMS/Formats/fmtall/IP3_09all.xml
index d09b3280..2931aff3 100644
Binary files a/PROMS/Formats/fmtall/IP3_09all.xml and b/PROMS/Formats/fmtall/IP3_09all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_10all.xml b/PROMS/Formats/fmtall/IP3_10all.xml
index 8729e3b6..75e9a790 100644
Binary files a/PROMS/Formats/fmtall/IP3_10all.xml and b/PROMS/Formats/fmtall/IP3_10all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_11all.xml b/PROMS/Formats/fmtall/IP3_11all.xml
index 7abfa984..7f2461c5 100644
Binary files a/PROMS/Formats/fmtall/IP3_11all.xml and b/PROMS/Formats/fmtall/IP3_11all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_12all.xml b/PROMS/Formats/fmtall/IP3_12all.xml
index d73db84e..338f5500 100644
Binary files a/PROMS/Formats/fmtall/IP3_12all.xml and b/PROMS/Formats/fmtall/IP3_12all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_13all.xml b/PROMS/Formats/fmtall/IP3_13all.xml
index 16757499..089fbfdc 100644
Binary files a/PROMS/Formats/fmtall/IP3_13all.xml and b/PROMS/Formats/fmtall/IP3_13all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_14all.xml b/PROMS/Formats/fmtall/IP3_14all.xml
index 18daaee2..6358ee02 100644
Binary files a/PROMS/Formats/fmtall/IP3_14all.xml and b/PROMS/Formats/fmtall/IP3_14all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3_15all.xml b/PROMS/Formats/fmtall/IP3_15all.xml
index 28812eba..59049897 100644
Binary files a/PROMS/Formats/fmtall/IP3_15all.xml and b/PROMS/Formats/fmtall/IP3_15all.xml differ
diff --git a/PROMS/Formats/fmtall/IP3all.xml b/PROMS/Formats/fmtall/IP3all.xml
index 459077ba..8504786a 100644
Binary files a/PROMS/Formats/fmtall/IP3all.xml and b/PROMS/Formats/fmtall/IP3all.xml differ
diff --git a/PROMS/Formats/fmtall/MAINGall.xml b/PROMS/Formats/fmtall/MAINGall.xml
index e0416c5c..2fcbb397 100644
Binary files a/PROMS/Formats/fmtall/MAINGall.xml and b/PROMS/Formats/fmtall/MAINGall.xml differ
diff --git a/PROMS/Formats/fmtall/MCGBOXall.xml b/PROMS/Formats/fmtall/MCGBOXall.xml
index 3ca80de3..81a9cafe 100644
Binary files a/PROMS/Formats/fmtall/MCGBOXall.xml and b/PROMS/Formats/fmtall/MCGBOXall.xml differ
diff --git a/PROMS/Formats/fmtall/MCGDEVall.xml b/PROMS/Formats/fmtall/MCGDEVall.xml
index f06d78c7..edbc0d69 100644
Binary files a/PROMS/Formats/fmtall/MCGDEVall.xml and b/PROMS/Formats/fmtall/MCGDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/MCGEBCKall.xml b/PROMS/Formats/fmtall/MCGEBCKall.xml
index a845f319..6c13c421 100644
Binary files a/PROMS/Formats/fmtall/MCGEBCKall.xml and b/PROMS/Formats/fmtall/MCGEBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/MCGSAMall.xml b/PROMS/Formats/fmtall/MCGSAMall.xml
index 2496d08d..0f8ac4bd 100644
Binary files a/PROMS/Formats/fmtall/MCGSAMall.xml and b/PROMS/Formats/fmtall/MCGSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/MCGall.xml b/PROMS/Formats/fmtall/MCGall.xml
index 102f9698..92e44aa6 100644
Binary files a/PROMS/Formats/fmtall/MCGall.xml and b/PROMS/Formats/fmtall/MCGall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPAB_00all.xml b/PROMS/Formats/fmtall/NSPAB_00all.xml
index 4a4f690c..5611ed53 100644
Binary files a/PROMS/Formats/fmtall/NSPAB_00all.xml and b/PROMS/Formats/fmtall/NSPAB_00all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPAB_01all.xml b/PROMS/Formats/fmtall/NSPAB_01all.xml
index 4eca5298..d75d7714 100644
Binary files a/PROMS/Formats/fmtall/NSPAB_01all.xml and b/PROMS/Formats/fmtall/NSPAB_01all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPAB_02all.xml b/PROMS/Formats/fmtall/NSPAB_02all.xml
index c33efe58..4717148c 100644
Binary files a/PROMS/Formats/fmtall/NSPAB_02all.xml and b/PROMS/Formats/fmtall/NSPAB_02all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPABall.xml b/PROMS/Formats/fmtall/NSPABall.xml
index 8d45a290..0826f8be 100644
Binary files a/PROMS/Formats/fmtall/NSPABall.xml and b/PROMS/Formats/fmtall/NSPABall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPARP_00all.xml b/PROMS/Formats/fmtall/NSPARP_00all.xml
index 703e8936..f6df8e7b 100644
Binary files a/PROMS/Formats/fmtall/NSPARP_00all.xml and b/PROMS/Formats/fmtall/NSPARP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPARPall.xml b/PROMS/Formats/fmtall/NSPARPall.xml
index 1889076d..379028dc 100644
Binary files a/PROMS/Formats/fmtall/NSPARPall.xml and b/PROMS/Formats/fmtall/NSPARPall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPBCKall.xml b/PROMS/Formats/fmtall/NSPBCKall.xml
index e8559ea3..5d7289c9 100644
Binary files a/PROMS/Formats/fmtall/NSPBCKall.xml and b/PROMS/Formats/fmtall/NSPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPDEVall.xml b/PROMS/Formats/fmtall/NSPDEVall.xml
index a70d4255..df39b32b 100644
Binary files a/PROMS/Formats/fmtall/NSPDEVall.xml and b/PROMS/Formats/fmtall/NSPDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPEDEVall.xml b/PROMS/Formats/fmtall/NSPEDEVall.xml
index 888f843a..53720016 100644
Binary files a/PROMS/Formats/fmtall/NSPEDEVall.xml and b/PROMS/Formats/fmtall/NSPEDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPFCall.xml b/PROMS/Formats/fmtall/NSPFCall.xml
index 0926ce08..6efbb9ce 100644
Binary files a/PROMS/Formats/fmtall/NSPFCall.xml and b/PROMS/Formats/fmtall/NSPFCall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPIFG2all.xml b/PROMS/Formats/fmtall/NSPIFG2all.xml
index 05d58d75..640e7eae 100644
Binary files a/PROMS/Formats/fmtall/NSPIFG2all.xml and b/PROMS/Formats/fmtall/NSPIFG2all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPIFG_00all.xml b/PROMS/Formats/fmtall/NSPIFG_00all.xml
index 1ca85fb5..d349193b 100644
Binary files a/PROMS/Formats/fmtall/NSPIFG_00all.xml and b/PROMS/Formats/fmtall/NSPIFG_00all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPIFGall.xml b/PROMS/Formats/fmtall/NSPIFGall.xml
index cc6a4af0..567d63c3 100644
Binary files a/PROMS/Formats/fmtall/NSPIFGall.xml and b/PROMS/Formats/fmtall/NSPIFGall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPPEall.xml b/PROMS/Formats/fmtall/NSPPEall.xml
index f33bce2c..ccfd09f5 100644
Binary files a/PROMS/Formats/fmtall/NSPPEall.xml and b/PROMS/Formats/fmtall/NSPPEall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPSAMDEVall.xml b/PROMS/Formats/fmtall/NSPSAMDEVall.xml
index 6084c973..7ff88e65 100644
Binary files a/PROMS/Formats/fmtall/NSPSAMDEVall.xml and b/PROMS/Formats/fmtall/NSPSAMDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPSAMall.xml b/PROMS/Formats/fmtall/NSPSAMall.xml
index e7c4d73c..d5d06dba 100644
Binary files a/PROMS/Formats/fmtall/NSPSAMall.xml and b/PROMS/Formats/fmtall/NSPSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/NSPWGall.xml b/PROMS/Formats/fmtall/NSPWGall.xml
index c77ed864..e5295791 100644
Binary files a/PROMS/Formats/fmtall/NSPWGall.xml and b/PROMS/Formats/fmtall/NSPWGall.xml differ
diff --git a/PROMS/Formats/fmtall/NSP_00all.xml b/PROMS/Formats/fmtall/NSP_00all.xml
index 149808fc..2aeb2ae2 100644
Binary files a/PROMS/Formats/fmtall/NSP_00all.xml and b/PROMS/Formats/fmtall/NSP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/NSPall.xml b/PROMS/Formats/fmtall/NSPall.xml
index 85a5ba80..c1dfe167 100644
Binary files a/PROMS/Formats/fmtall/NSPall.xml and b/PROMS/Formats/fmtall/NSPall.xml differ
diff --git a/PROMS/Formats/fmtall/OHLPall.xml b/PROMS/Formats/fmtall/OHLPall.xml
index 1f1a79cb..eb95d12b 100644
Binary files a/PROMS/Formats/fmtall/OHLPall.xml and b/PROMS/Formats/fmtall/OHLPall.xml differ
diff --git a/PROMS/Formats/fmtall/PROMSMan1all.xml b/PROMS/Formats/fmtall/PROMSMan1all.xml
index 13a6cbb6..d1a6c5b8 100644
Binary files a/PROMS/Formats/fmtall/PROMSMan1all.xml and b/PROMS/Formats/fmtall/PROMSMan1all.xml differ
diff --git a/PROMS/Formats/fmtall/PROMSMan2all.xml b/PROMS/Formats/fmtall/PROMSMan2all.xml
index 166feab8..328704ca 100644
Binary files a/PROMS/Formats/fmtall/PROMSMan2all.xml and b/PROMS/Formats/fmtall/PROMSMan2all.xml differ
diff --git a/PROMS/Formats/fmtall/RGEBCK_00all.xml b/PROMS/Formats/fmtall/RGEBCK_00all.xml
index 06f64338..e306203d 100644
Binary files a/PROMS/Formats/fmtall/RGEBCK_00all.xml and b/PROMS/Formats/fmtall/RGEBCK_00all.xml differ
diff --git a/PROMS/Formats/fmtall/RGEBCKall.xml b/PROMS/Formats/fmtall/RGEBCKall.xml
index 02f3500a..b8e64702 100644
Binary files a/PROMS/Formats/fmtall/RGEBCKall.xml and b/PROMS/Formats/fmtall/RGEBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/RGEDEVall.xml b/PROMS/Formats/fmtall/RGEDEVall.xml
index bf26da5b..79b6e3d4 100644
Binary files a/PROMS/Formats/fmtall/RGEDEVall.xml and b/PROMS/Formats/fmtall/RGEDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/RGESAM1all.xml b/PROMS/Formats/fmtall/RGESAM1all.xml
index 13ec2d2f..d63a669a 100644
Binary files a/PROMS/Formats/fmtall/RGESAM1all.xml and b/PROMS/Formats/fmtall/RGESAM1all.xml differ
diff --git a/PROMS/Formats/fmtall/RGESAM2all.xml b/PROMS/Formats/fmtall/RGESAM2all.xml
index 36432670..3ac5fd11 100644
Binary files a/PROMS/Formats/fmtall/RGESAM2all.xml and b/PROMS/Formats/fmtall/RGESAM2all.xml differ
diff --git a/PROMS/Formats/fmtall/RGESMPEall.xml b/PROMS/Formats/fmtall/RGESMPEall.xml
index 3155d54b..7342e7e6 100644
Binary files a/PROMS/Formats/fmtall/RGESMPEall.xml and b/PROMS/Formats/fmtall/RGESMPEall.xml differ
diff --git a/PROMS/Formats/fmtall/RGEall.xml b/PROMS/Formats/fmtall/RGEall.xml
index b68d68bc..c14f6c86 100644
Binary files a/PROMS/Formats/fmtall/RGEall.xml and b/PROMS/Formats/fmtall/RGEall.xml differ
diff --git a/PROMS/Formats/fmtall/RNPAOPBCK2NHCall.xml b/PROMS/Formats/fmtall/RNPAOPBCK2NHCall.xml
index 35bc74aa..d97fcdc8 100644
Binary files a/PROMS/Formats/fmtall/RNPAOPBCK2NHCall.xml and b/PROMS/Formats/fmtall/RNPAOPBCK2NHCall.xml differ
diff --git a/PROMS/Formats/fmtall/RNPAOPBCK2all.xml b/PROMS/Formats/fmtall/RNPAOPBCK2all.xml
index b0356818..dc121fd7 100644
Binary files a/PROMS/Formats/fmtall/RNPAOPBCK2all.xml and b/PROMS/Formats/fmtall/RNPAOPBCK2all.xml differ
diff --git a/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml b/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml
index 905f6653..d9537e6f 100644
Binary files a/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml and b/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml differ
diff --git a/PROMS/Formats/fmtall/RNPAOPBCKall.xml b/PROMS/Formats/fmtall/RNPAOPBCKall.xml
index 883eecb6..e6649bed 100644
Binary files a/PROMS/Formats/fmtall/RNPAOPBCKall.xml and b/PROMS/Formats/fmtall/RNPAOPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/SETDEVall.xml b/PROMS/Formats/fmtall/SETDEVall.xml
index ff8246a8..7ab0cb43 100644
Binary files a/PROMS/Formats/fmtall/SETDEVall.xml and b/PROMS/Formats/fmtall/SETDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/SHEAall.xml b/PROMS/Formats/fmtall/SHEAall.xml
index 8e6d81cb..ce0eed34 100644
Binary files a/PROMS/Formats/fmtall/SHEAall.xml and b/PROMS/Formats/fmtall/SHEAall.xml differ
diff --git a/PROMS/Formats/fmtall/SHEDEVall.xml b/PROMS/Formats/fmtall/SHEDEVall.xml
index c1ecf31b..0a160c30 100644
Binary files a/PROMS/Formats/fmtall/SHEDEVall.xml and b/PROMS/Formats/fmtall/SHEDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/SHERVSUall.xml b/PROMS/Formats/fmtall/SHERVSUall.xml
index 4550000a..66ab43c8 100644
Binary files a/PROMS/Formats/fmtall/SHERVSUall.xml and b/PROMS/Formats/fmtall/SHERVSUall.xml differ
diff --git a/PROMS/Formats/fmtall/SHESAMall.xml b/PROMS/Formats/fmtall/SHESAMall.xml
index a94c3d4e..f7e58d03 100644
Binary files a/PROMS/Formats/fmtall/SHESAMall.xml and b/PROMS/Formats/fmtall/SHESAMall.xml differ
diff --git a/PROMS/Formats/fmtall/SHESSD_00all.xml b/PROMS/Formats/fmtall/SHESSD_00all.xml
index d2625f1c..7cad82fb 100644
Binary files a/PROMS/Formats/fmtall/SHESSD_00all.xml and b/PROMS/Formats/fmtall/SHESSD_00all.xml differ
diff --git a/PROMS/Formats/fmtall/SHESSDall.xml b/PROMS/Formats/fmtall/SHESSDall.xml
index be4cb63c..a15aa6f5 100644
Binary files a/PROMS/Formats/fmtall/SHESSDall.xml and b/PROMS/Formats/fmtall/SHESSDall.xml differ
diff --git a/PROMS/Formats/fmtall/SHEall.xml b/PROMS/Formats/fmtall/SHEall.xml
index d7b0c194..b2d912da 100644
Binary files a/PROMS/Formats/fmtall/SHEall.xml and b/PROMS/Formats/fmtall/SHEall.xml differ
diff --git a/PROMS/Formats/fmtall/SUMSAMall.xml b/PROMS/Formats/fmtall/SUMSAMall.xml
index 90c65d37..4b073fb5 100644
Binary files a/PROMS/Formats/fmtall/SUMSAMall.xml and b/PROMS/Formats/fmtall/SUMSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/SUMall.xml b/PROMS/Formats/fmtall/SUMall.xml
index ffcf2e3d..3873bf8b 100644
Binary files a/PROMS/Formats/fmtall/SUMall.xml and b/PROMS/Formats/fmtall/SUMall.xml differ
diff --git a/PROMS/Formats/fmtall/TPBCK2all.xml b/PROMS/Formats/fmtall/TPBCK2all.xml
index d11646d4..bba6cf23 100644
Binary files a/PROMS/Formats/fmtall/TPBCK2all.xml and b/PROMS/Formats/fmtall/TPBCK2all.xml differ
diff --git a/PROMS/Formats/fmtall/TPBCK_00all.xml b/PROMS/Formats/fmtall/TPBCK_00all.xml
index 588632e6..0de66c2e 100644
Binary files a/PROMS/Formats/fmtall/TPBCK_00all.xml and b/PROMS/Formats/fmtall/TPBCK_00all.xml differ
diff --git a/PROMS/Formats/fmtall/TPBCK_01all.xml b/PROMS/Formats/fmtall/TPBCK_01all.xml
index 9b86c671..b386b7af 100644
Binary files a/PROMS/Formats/fmtall/TPBCK_01all.xml and b/PROMS/Formats/fmtall/TPBCK_01all.xml differ
diff --git a/PROMS/Formats/fmtall/TPBCKall.xml b/PROMS/Formats/fmtall/TPBCKall.xml
index 8201731c..6231868c 100644
Binary files a/PROMS/Formats/fmtall/TPBCKall.xml and b/PROMS/Formats/fmtall/TPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/TP_00all.xml b/PROMS/Formats/fmtall/TP_00all.xml
index ab0037b1..292c679a 100644
Binary files a/PROMS/Formats/fmtall/TP_00all.xml and b/PROMS/Formats/fmtall/TP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/TPall.xml b/PROMS/Formats/fmtall/TPall.xml
index a58c0512..b3ea1fe4 100644
Binary files a/PROMS/Formats/fmtall/TPall.xml and b/PROMS/Formats/fmtall/TPall.xml differ
diff --git a/PROMS/Formats/fmtall/TUECABNall.xml b/PROMS/Formats/fmtall/TUECABNall.xml
index 73b39cab..d91e117a 100644
Binary files a/PROMS/Formats/fmtall/TUECABNall.xml and b/PROMS/Formats/fmtall/TUECABNall.xml differ
diff --git a/PROMS/Formats/fmtall/TUECDEVall.xml b/PROMS/Formats/fmtall/TUECDEVall.xml
index 4d8517db..33427987 100644
Binary files a/PROMS/Formats/fmtall/TUECDEVall.xml and b/PROMS/Formats/fmtall/TUECDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/TUECSAMG1all.xml b/PROMS/Formats/fmtall/TUECSAMG1all.xml
index 4bf3cc1f..6a97976e 100644
Binary files a/PROMS/Formats/fmtall/TUECSAMG1all.xml and b/PROMS/Formats/fmtall/TUECSAMG1all.xml differ
diff --git a/PROMS/Formats/fmtall/TUECSAMGall.xml b/PROMS/Formats/fmtall/TUECSAMGall.xml
index 88ff5e7e..aae4b55d 100644
Binary files a/PROMS/Formats/fmtall/TUECSAMGall.xml and b/PROMS/Formats/fmtall/TUECSAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml
index 77f4410d..c8bce8ef 100644
Binary files a/PROMS/Formats/fmtall/TUECall.xml and b/PROMS/Formats/fmtall/TUECall.xml differ
diff --git a/PROMS/Formats/fmtall/TVASAMGBCKall.xml b/PROMS/Formats/fmtall/TVASAMGBCKall.xml
index 9ddb061d..f9bb5495 100644
Binary files a/PROMS/Formats/fmtall/TVASAMGBCKall.xml and b/PROMS/Formats/fmtall/TVASAMGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/TVASAMGall.xml b/PROMS/Formats/fmtall/TVASAMGall.xml
index aef76cac..73f21981 100644
Binary files a/PROMS/Formats/fmtall/TVASAMGall.xml and b/PROMS/Formats/fmtall/TVASAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/VCSDEVall.xml b/PROMS/Formats/fmtall/VCSDEVall.xml
index a52a17c7..620aaac3 100644
Binary files a/PROMS/Formats/fmtall/VCSDEVall.xml and b/PROMS/Formats/fmtall/VCSDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/VCSSAMGDEVall.xml b/PROMS/Formats/fmtall/VCSSAMGDEVall.xml
index e95d1dd9..5f8942e6 100644
Binary files a/PROMS/Formats/fmtall/VCSSAMGDEVall.xml and b/PROMS/Formats/fmtall/VCSSAMGDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml
index 31e5e274..29750164 100644
Binary files a/PROMS/Formats/fmtall/VEGP1all.xml and b/PROMS/Formats/fmtall/VEGP1all.xml differ
diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml
index dadeaf2b..b1b34c18 100644
Binary files a/PROMS/Formats/fmtall/VEGP2all.xml and b/PROMS/Formats/fmtall/VEGP2all.xml differ
diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml
index 70bcb9e4..fa17a95c 100644
Binary files a/PROMS/Formats/fmtall/VEGPAlrall.xml and b/PROMS/Formats/fmtall/VEGPAlrall.xml differ
diff --git a/PROMS/Formats/fmtall/VEGPBckStpsall.xml b/PROMS/Formats/fmtall/VEGPBckStpsall.xml
index 8f3214a0..68630929 100644
Binary files a/PROMS/Formats/fmtall/VEGPBckStpsall.xml and b/PROMS/Formats/fmtall/VEGPBckStpsall.xml differ
diff --git a/PROMS/Formats/fmtall/VEGPBckall.xml b/PROMS/Formats/fmtall/VEGPBckall.xml
index 0e560e48..052c8719 100644
Binary files a/PROMS/Formats/fmtall/VEGPBckall.xml and b/PROMS/Formats/fmtall/VEGPBckall.xml differ
diff --git a/PROMS/Formats/fmtall/VLNCASall.xml b/PROMS/Formats/fmtall/VLNCASall.xml
index 468e96af..c812d0fe 100644
Binary files a/PROMS/Formats/fmtall/VLNCASall.xml and b/PROMS/Formats/fmtall/VLNCASall.xml differ
diff --git a/PROMS/Formats/fmtall/WCN1all.xml b/PROMS/Formats/fmtall/WCN1all.xml
index 4d967604..b5a3891b 100644
Binary files a/PROMS/Formats/fmtall/WCN1all.xml and b/PROMS/Formats/fmtall/WCN1all.xml differ
diff --git a/PROMS/Formats/fmtall/WCN2all.xml b/PROMS/Formats/fmtall/WCN2all.xml
index 02fef4ef..d38dd66d 100644
Binary files a/PROMS/Formats/fmtall/WCN2all.xml and b/PROMS/Formats/fmtall/WCN2all.xml differ
diff --git a/PROMS/Formats/fmtall/WCNBCKall.xml b/PROMS/Formats/fmtall/WCNBCKall.xml
index db358882..9b891354 100644
Binary files a/PROMS/Formats/fmtall/WCNBCKall.xml and b/PROMS/Formats/fmtall/WCNBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNCKLall.xml b/PROMS/Formats/fmtall/WCNCKLall.xml
index 6328289c..cfd7bf19 100644
Binary files a/PROMS/Formats/fmtall/WCNCKLall.xml and b/PROMS/Formats/fmtall/WCNCKLall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNCLBall.xml b/PROMS/Formats/fmtall/WCNCLBall.xml
index d2aed0a0..430c4c54 100644
Binary files a/PROMS/Formats/fmtall/WCNCLBall.xml and b/PROMS/Formats/fmtall/WCNCLBall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNDEVall.xml b/PROMS/Formats/fmtall/WCNDEVall.xml
index bb1bb7b9..67a50914 100644
Binary files a/PROMS/Formats/fmtall/WCNDEVall.xml and b/PROMS/Formats/fmtall/WCNDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNFSGBCKall.xml b/PROMS/Formats/fmtall/WCNFSGBCKall.xml
index 4c5e055f..92a63c71 100644
Binary files a/PROMS/Formats/fmtall/WCNFSGBCKall.xml and b/PROMS/Formats/fmtall/WCNFSGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNOFBall.xml b/PROMS/Formats/fmtall/WCNOFBall.xml
index 22122195..b163b699 100644
Binary files a/PROMS/Formats/fmtall/WCNOFBall.xml and b/PROMS/Formats/fmtall/WCNOFBall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNSAMGBCKall.xml b/PROMS/Formats/fmtall/WCNSAMGBCKall.xml
index 7f849a04..b87e9ba4 100644
Binary files a/PROMS/Formats/fmtall/WCNSAMGBCKall.xml and b/PROMS/Formats/fmtall/WCNSAMGBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNSAM_00all.xml b/PROMS/Formats/fmtall/WCNSAM_00all.xml
index e0faeeb7..d18a26f7 100644
Binary files a/PROMS/Formats/fmtall/WCNSAM_00all.xml and b/PROMS/Formats/fmtall/WCNSAM_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WCNSAMall.xml b/PROMS/Formats/fmtall/WCNSAMall.xml
index 87cf1295..8f5d0df8 100644
Binary files a/PROMS/Formats/fmtall/WCNSAMall.xml and b/PROMS/Formats/fmtall/WCNSAMall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNSGIall.xml b/PROMS/Formats/fmtall/WCNSGIall.xml
index 8f0e4e48..3b36717e 100644
Binary files a/PROMS/Formats/fmtall/WCNSGIall.xml and b/PROMS/Formats/fmtall/WCNSGIall.xml differ
diff --git a/PROMS/Formats/fmtall/WCNTRNall.xml b/PROMS/Formats/fmtall/WCNTRNall.xml
index 6deede3a..d3dacc38 100644
Binary files a/PROMS/Formats/fmtall/WCNTRNall.xml and b/PROMS/Formats/fmtall/WCNTRNall.xml differ
diff --git a/PROMS/Formats/fmtall/WEP2all.xml b/PROMS/Formats/fmtall/WEP2all.xml
index 24d5ac1e..8f5e5743 100644
Binary files a/PROMS/Formats/fmtall/WEP2all.xml and b/PROMS/Formats/fmtall/WEP2all.xml differ
diff --git a/PROMS/Formats/fmtall/WEPBCKall.xml b/PROMS/Formats/fmtall/WEPBCKall.xml
index 6380813e..7ffb858a 100644
Binary files a/PROMS/Formats/fmtall/WEPBCKall.xml and b/PROMS/Formats/fmtall/WEPBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/WEPENB_00all.xml b/PROMS/Formats/fmtall/WEPENB_00all.xml
index 5c93aa56..199efb3d 100644
Binary files a/PROMS/Formats/fmtall/WEPENB_00all.xml and b/PROMS/Formats/fmtall/WEPENB_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WEPENB_01all.xml b/PROMS/Formats/fmtall/WEPENB_01all.xml
index d242efc2..aeeac95f 100644
Binary files a/PROMS/Formats/fmtall/WEPENB_01all.xml and b/PROMS/Formats/fmtall/WEPENB_01all.xml differ
diff --git a/PROMS/Formats/fmtall/WEPENBall.xml b/PROMS/Formats/fmtall/WEPENBall.xml
index 5238ef5b..5d060295 100644
Binary files a/PROMS/Formats/fmtall/WEPENBall.xml and b/PROMS/Formats/fmtall/WEPENBall.xml differ
diff --git a/PROMS/Formats/fmtall/WEPSAM2all.xml b/PROMS/Formats/fmtall/WEPSAM2all.xml
index 7a621389..04c18bd0 100644
Binary files a/PROMS/Formats/fmtall/WEPSAM2all.xml and b/PROMS/Formats/fmtall/WEPSAM2all.xml differ
diff --git a/PROMS/Formats/fmtall/WEPSAMGall.xml b/PROMS/Formats/fmtall/WEPSAMGall.xml
index e64bcdf0..d2134bb9 100644
Binary files a/PROMS/Formats/fmtall/WEPSAMGall.xml and b/PROMS/Formats/fmtall/WEPSAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/WPBAall.xml b/PROMS/Formats/fmtall/WPBAall.xml
index 9bb13fe0..71a2ad41 100644
Binary files a/PROMS/Formats/fmtall/WPBAall.xml and b/PROMS/Formats/fmtall/WPBAall.xml differ
diff --git a/PROMS/Formats/fmtall/WPB_20all.xml b/PROMS/Formats/fmtall/WPB_20all.xml
index c0457244..8abf8d89 100644
Binary files a/PROMS/Formats/fmtall/WPB_20all.xml and b/PROMS/Formats/fmtall/WPB_20all.xml differ
diff --git a/PROMS/Formats/fmtall/WPB_22all.xml b/PROMS/Formats/fmtall/WPB_22all.xml
index b2ff48bb..45dca9c6 100644
Binary files a/PROMS/Formats/fmtall/WPB_22all.xml and b/PROMS/Formats/fmtall/WPB_22all.xml differ
diff --git a/PROMS/Formats/fmtall/WPBall.xml b/PROMS/Formats/fmtall/WPBall.xml
index dbb01b9b..7b1e73b0 100644
Binary files a/PROMS/Formats/fmtall/WPBall.xml and b/PROMS/Formats/fmtall/WPBall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSARP_00all.xml b/PROMS/Formats/fmtall/WPSARP_00all.xml
index 3efbe3df..3e8359c3 100644
Binary files a/PROMS/Formats/fmtall/WPSARP_00all.xml and b/PROMS/Formats/fmtall/WPSARP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSARPall.xml b/PROMS/Formats/fmtall/WPSARPall.xml
index 179fd56f..4661eae0 100644
Binary files a/PROMS/Formats/fmtall/WPSARPall.xml and b/PROMS/Formats/fmtall/WPSARPall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSBCK_00all.xml b/PROMS/Formats/fmtall/WPSBCK_00all.xml
index 718f48ae..11b73d1d 100644
Binary files a/PROMS/Formats/fmtall/WPSBCK_00all.xml and b/PROMS/Formats/fmtall/WPSBCK_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSBCKall.xml b/PROMS/Formats/fmtall/WPSBCKall.xml
index 959c14c6..87b97541 100644
Binary files a/PROMS/Formats/fmtall/WPSBCKall.xml and b/PROMS/Formats/fmtall/WPSBCKall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSDEVall.xml b/PROMS/Formats/fmtall/WPSDEVall.xml
index 44230c01..81fc979d 100644
Binary files a/PROMS/Formats/fmtall/WPSDEVall.xml and b/PROMS/Formats/fmtall/WPSDEVall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSDOM_00all.xml b/PROMS/Formats/fmtall/WPSDOM_00all.xml
index 63e1d262..b17fbc28 100644
Binary files a/PROMS/Formats/fmtall/WPSDOM_00all.xml and b/PROMS/Formats/fmtall/WPSDOM_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSDOM_01all.xml b/PROMS/Formats/fmtall/WPSDOM_01all.xml
index 5e2a6551..59e40fd7 100644
Binary files a/PROMS/Formats/fmtall/WPSDOM_01all.xml and b/PROMS/Formats/fmtall/WPSDOM_01all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSDOM_02all.xml b/PROMS/Formats/fmtall/WPSDOM_02all.xml
index 1748ddbb..39b2514e 100644
Binary files a/PROMS/Formats/fmtall/WPSDOM_02all.xml and b/PROMS/Formats/fmtall/WPSDOM_02all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSDOMall.xml b/PROMS/Formats/fmtall/WPSDOMall.xml
index 2e3285de..1777be0c 100644
Binary files a/PROMS/Formats/fmtall/WPSDOMall.xml and b/PROMS/Formats/fmtall/WPSDOMall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_00all.xml b/PROMS/Formats/fmtall/WPSOP_00all.xml
index 0521ff1b..20f15a40 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_00all.xml and b/PROMS/Formats/fmtall/WPSOP_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_01all.xml b/PROMS/Formats/fmtall/WPSOP_01all.xml
index 87c452f1..4ee3e679 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_01all.xml and b/PROMS/Formats/fmtall/WPSOP_01all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_02all.xml b/PROMS/Formats/fmtall/WPSOP_02all.xml
index 666ef787..e0dd3ceb 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_02all.xml and b/PROMS/Formats/fmtall/WPSOP_02all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_03all.xml b/PROMS/Formats/fmtall/WPSOP_03all.xml
index 9b6d20c6..16b02693 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_03all.xml and b/PROMS/Formats/fmtall/WPSOP_03all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_04all.xml b/PROMS/Formats/fmtall/WPSOP_04all.xml
index 50be3e74..831e2b56 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_04all.xml and b/PROMS/Formats/fmtall/WPSOP_04all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOP_05all.xml b/PROMS/Formats/fmtall/WPSOP_05all.xml
index 0f78c2dc..b6df9cc7 100644
Binary files a/PROMS/Formats/fmtall/WPSOP_05all.xml and b/PROMS/Formats/fmtall/WPSOP_05all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSOPall.xml b/PROMS/Formats/fmtall/WPSOPall.xml
index 717c504e..85fadccc 100644
Binary files a/PROMS/Formats/fmtall/WPSOPall.xml and b/PROMS/Formats/fmtall/WPSOPall.xml differ
diff --git a/PROMS/Formats/fmtall/WPSSAMGall.xml b/PROMS/Formats/fmtall/WPSSAMGall.xml
index a36281ac..10bd9b2a 100644
Binary files a/PROMS/Formats/fmtall/WPSSAMGall.xml and b/PROMS/Formats/fmtall/WPSSAMGall.xml differ
diff --git a/PROMS/Formats/fmtall/WPS_00all.xml b/PROMS/Formats/fmtall/WPS_00all.xml
index 9cd4717c..b46d040c 100644
Binary files a/PROMS/Formats/fmtall/WPS_00all.xml and b/PROMS/Formats/fmtall/WPS_00all.xml differ
diff --git a/PROMS/Formats/fmtall/WPS_01all.xml b/PROMS/Formats/fmtall/WPS_01all.xml
index bf8c34b8..f4fd3609 100644
Binary files a/PROMS/Formats/fmtall/WPS_01all.xml and b/PROMS/Formats/fmtall/WPS_01all.xml differ
diff --git a/PROMS/Formats/fmtall/WPS_02all.xml b/PROMS/Formats/fmtall/WPS_02all.xml
index a34212bc..6c03d3b1 100644
Binary files a/PROMS/Formats/fmtall/WPS_02all.xml and b/PROMS/Formats/fmtall/WPS_02all.xml differ
diff --git a/PROMS/Formats/fmtall/WPSall.xml b/PROMS/Formats/fmtall/WPSall.xml
index ceca2be3..a2cc0888 100644
Binary files a/PROMS/Formats/fmtall/WPSall.xml and b/PROMS/Formats/fmtall/WPSall.xml differ
diff --git a/PROMS/Formats/fmtall/fnpnmpall.xml b/PROMS/Formats/fmtall/fnpnmpall.xml
index 4ffc6e81..94e7cff1 100644
Binary files a/PROMS/Formats/fmtall/fnpnmpall.xml and b/PROMS/Formats/fmtall/fnpnmpall.xml differ
diff --git a/PROMS/Formats/fmtall/hlpfsgall.xml b/PROMS/Formats/fmtall/hlpfsgall.xml
index 9dff23d9..123779de 100644
Binary files a/PROMS/Formats/fmtall/hlpfsgall.xml and b/PROMS/Formats/fmtall/hlpfsgall.xml differ
diff --git a/PROMS/Formats/fmtall/vcb1all.xml b/PROMS/Formats/fmtall/vcb1all.xml
index 03b9cf01..89b3f9c2 100644
Binary files a/PROMS/Formats/fmtall/vcb1all.xml and b/PROMS/Formats/fmtall/vcb1all.xml differ
diff --git a/PROMS/Formats/fmtall/vcb2all.xml b/PROMS/Formats/fmtall/vcb2all.xml
index 9580f673..4ccb3b9c 100644
Binary files a/PROMS/Formats/fmtall/vcb2all.xml and b/PROMS/Formats/fmtall/vcb2all.xml differ
diff --git a/PROMS/Formats/fmtall/vcbaall.xml b/PROMS/Formats/fmtall/vcbaall.xml
index 5aaa59cc..5c39c444 100644
Binary files a/PROMS/Formats/fmtall/vcbaall.xml and b/PROMS/Formats/fmtall/vcbaall.xml differ
diff --git a/PROMS/Formats/fmtall/vcbalrall.xml b/PROMS/Formats/fmtall/vcbalrall.xml
index db3d8dfa..a1cf541e 100644
Binary files a/PROMS/Formats/fmtall/vcbalrall.xml and b/PROMS/Formats/fmtall/vcbalrall.xml differ
diff --git a/PROMS/Formats/fmtall/vcbbckall.xml b/PROMS/Formats/fmtall/vcbbckall.xml
index d46ef914..243bb2e0 100644
Binary files a/PROMS/Formats/fmtall/vcbbckall.xml and b/PROMS/Formats/fmtall/vcbbckall.xml differ
diff --git a/PROMS/Formats/fmtall/vcbeppall.xml b/PROMS/Formats/fmtall/vcbeppall.xml
index f0ffafca..5afe836a 100644
Binary files a/PROMS/Formats/fmtall/vcbeppall.xml and b/PROMS/Formats/fmtall/vcbeppall.xml differ
diff --git a/PROMS/Formats/fmtall/wst1all.xml b/PROMS/Formats/fmtall/wst1all.xml
index e05e5820..bd723400 100644
Binary files a/PROMS/Formats/fmtall/wst1all.xml and b/PROMS/Formats/fmtall/wst1all.xml differ
diff --git a/PROMS/Formats/fmtall/wst2all.xml b/PROMS/Formats/fmtall/wst2all.xml
index 72ab28d6..6ab56c91 100644
Binary files a/PROMS/Formats/fmtall/wst2all.xml and b/PROMS/Formats/fmtall/wst2all.xml differ
diff --git a/PROMS/Formats/fmtall/wstalrall.xml b/PROMS/Formats/fmtall/wstalrall.xml
index c507679e..86c73973 100644
Binary files a/PROMS/Formats/fmtall/wstalrall.xml and b/PROMS/Formats/fmtall/wstalrall.xml differ
diff --git a/PROMS/Formats/fmtall/wstbckall.xml b/PROMS/Formats/fmtall/wstbckall.xml
index 78648e74..6e3b5519 100644
Binary files a/PROMS/Formats/fmtall/wstbckall.xml and b/PROMS/Formats/fmtall/wstbckall.xml differ
diff --git a/PROMS/Formats/fmtall/wstcklall.xml b/PROMS/Formats/fmtall/wstcklall.xml
index 8e9a8399..79f1a849 100644
Binary files a/PROMS/Formats/fmtall/wstcklall.xml and b/PROMS/Formats/fmtall/wstcklall.xml differ
diff --git a/PROMS/Formats/fmtall/wstdcsall.xml b/PROMS/Formats/fmtall/wstdcsall.xml
index 89cde50c..52b54977 100644
Binary files a/PROMS/Formats/fmtall/wstdcsall.xml and b/PROMS/Formats/fmtall/wstdcsall.xml differ
diff --git a/PROMS/Formats/fmtall/wstdevall.xml b/PROMS/Formats/fmtall/wstdevall.xml
index 01eb37b5..3c41fa2f 100644
Binary files a/PROMS/Formats/fmtall/wstdevall.xml and b/PROMS/Formats/fmtall/wstdevall.xml differ
diff --git a/PROMS/Formats/fmtall/wstsamall.xml b/PROMS/Formats/fmtall/wstsamall.xml
index 9cfbf913..73202e14 100644
Binary files a/PROMS/Formats/fmtall/wstsamall.xml and b/PROMS/Formats/fmtall/wstsamall.xml differ
diff --git a/PROMS/Formats/genmacall/sum.svg b/PROMS/Formats/genmacall/sum.svg
index dc6c24df..61523c24 100644
Binary files a/PROMS/Formats/genmacall/sum.svg and b/PROMS/Formats/genmacall/sum.svg differ
diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.Designer.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.Designer.cs
index 5ddc7657..074597fe 100644
--- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.Designer.cs
+++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.Designer.cs
@@ -97,12 +97,12 @@ namespace VEPROMS
this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
this.groupPag = new DevComponents.DotNetBar.Controls.GroupPanel();
+ this.cbxGenerateTimeCritActSum = new System.Windows.Forms.CheckBox();
this.expPrnSetting = new DevComponents.DotNetBar.ExpandablePanel();
this.ppGpDuplex = new DevComponents.DotNetBar.Controls.GroupPanel();
this.tbBlankPage = new DevComponents.DotNetBar.Controls.TextBoxX();
this.lblBlPg = new DevComponents.DotNetBar.LabelX();
this.swtbtnPDFdtPrefixSuffix = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.cbxGenerateTimeCritActSum = new System.Windows.Forms.CheckBox();
this.gpnlDebug.SuspendLayout();
this.grpDateSelector.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.docVersionConfigBindingSource)).BeginInit();
@@ -1285,6 +1285,23 @@ namespace VEPROMS
this.groupPag.TabIndex = 111;
this.groupPag.Text = "Print using standard PROMS pagination rules by:";
//
+ // cbxGenerateTimeCritActSum
+ //
+ this.cbxGenerateTimeCritActSum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.cbxGenerateTimeCritActSum.AutoSize = true;
+ this.cbxGenerateTimeCritActSum.BackColor = System.Drawing.Color.Transparent;
+ this.cbxGenerateTimeCritActSum.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.cbxGenerateTimeCritActSum.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.cbxGenerateTimeCritActSum.Location = new System.Drawing.Point(240, 273);
+ this.cbxGenerateTimeCritActSum.Margin = new System.Windows.Forms.Padding(2);
+ this.cbxGenerateTimeCritActSum.Name = "cbxGenerateTimeCritActSum";
+ this.cbxGenerateTimeCritActSum.Size = new System.Drawing.Size(294, 17);
+ this.cbxGenerateTimeCritActSum.TabIndex = 102;
+ this.cbxGenerateTimeCritActSum.Text = "Generate Time Critical Action Summary (hidden but used)";
+ this.cbxGenerateTimeCritActSum.UseVisualStyleBackColor = false;
+ this.cbxGenerateTimeCritActSum.Visible = false;
+ //
// expPrnSetting
//
this.expPrnSetting.CanvasColor = System.Drawing.SystemColors.Control;
@@ -1421,23 +1438,6 @@ namespace VEPROMS
this.swtbtnPDFdtPrefixSuffix.TabIndex = 111;
this.swtbtnPDFdtPrefixSuffix.ValueChanged += new System.EventHandler(this.swtbtnPDFdtPrefixSuffix_ValueChanged);
//
- // cbxGenerateTimeCritActSum
- //
- this.cbxGenerateTimeCritActSum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.cbxGenerateTimeCritActSum.AutoSize = true;
- this.cbxGenerateTimeCritActSum.BackColor = System.Drawing.Color.Transparent;
- this.cbxGenerateTimeCritActSum.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.cbxGenerateTimeCritActSum.ForeColor = System.Drawing.SystemColors.ControlText;
- this.cbxGenerateTimeCritActSum.Location = new System.Drawing.Point(240, 273);
- this.cbxGenerateTimeCritActSum.Margin = new System.Windows.Forms.Padding(2);
- this.cbxGenerateTimeCritActSum.Name = "cbxGenerateTimeCritActSum";
- this.cbxGenerateTimeCritActSum.Size = new System.Drawing.Size(294, 17);
- this.cbxGenerateTimeCritActSum.TabIndex = 102;
- this.cbxGenerateTimeCritActSum.Text = "Generate Time Critical Action Summary (hidden but used)";
- this.cbxGenerateTimeCritActSum.UseVisualStyleBackColor = false;
- this.cbxGenerateTimeCritActSum.Visible = false;
- //
// DlgPrintProcedure
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs
index c61857ad..d11f1282 100644
--- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs
+++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs
@@ -1096,6 +1096,15 @@ namespace VEPROMS
}
private void btnCreatePDF_Click(object sender, EventArgs e)
{
+ // B2024-058 Add validation for Revision Date field of the Print dialog
+ if (txbRevDate.Visible)
+ {
+ if (!validateDate(txbRevDate))
+ {
+ //txbRevDate.Focus();
+ return;
+ }
+ }
DoCreatePDF();
}
@@ -1193,16 +1202,47 @@ namespace VEPROMS
if (_Initializing) return;
ppGpbxUserSpecTxt.Enabled = ppCmbxChgBarTxtType.SelectedIndex == (int)PrintChangeBarText.UserDef;
}
+ // B2024-058 Add validation for Revision Date field of the Print dialog
+ private bool validateDate(TextBox txtDate)
+ {
+ DateTime dDate;
+ if (!(txtDate.Text == ""))
+ {
+
+ if (DateTime.TryParse(txtDate.Text, out dDate))
+ {
+ return true;
+ }
+ else
+ {
+ string txtDate2 = txtDate.Text;
+ string message = String.Format("Date {0} in wrong format" + System.Environment.NewLine + "Correct the revision date.", txtDate2);
+ string txtTitle = "Invalid Format";
+ MessageBox.Show(message, txtTitle);
+ return false;
+ }
+ }
+ return true;
+ }
+
private void txbRevDate_Enter(object sender, EventArgs e)
{
txbDate = txbRevDate;
grpDateSelector.Text = "Select Revision Date";
grpDateSelector.Visible = calDateSelector.Visible = true;
//C2021-007 position the calendar to the current RevDate or if no RevDate, position to today's date
- DateTime initSelDate =(txbDate.Text != null && txbDate.Text.Length != 0)? Convert.ToDateTime(txbDate.Text) : DateTime.Today;
- calDateSelector.DisplayMonth = calDateSelector.SelectedDate = initSelDate;
+ DateTime dDate;
+ // B2024-058 Add validation for Revision Date field of the Print dialog
+ if (!validateDate(txbDate))
+ {
+ txbRevDate.Focus();
+ }
+ else
+ {
+ DateTime initSelDate = (txbDate.Text != null && txbDate.Text.Length != 0) ? Convert.ToDateTime(txbDate.Text) : DateTime.Today;
+ calDateSelector.DisplayMonth = calDateSelector.SelectedDate = initSelDate;
+ }
}
-
private void txbRevDate_Leave(object sender, EventArgs e)
{
if (_Initializing) return;
@@ -1320,6 +1360,10 @@ namespace VEPROMS
if (swtbtnPDFLinks.Value)
swtbtnPDFdtPrefixSuffix.Value = false;
BuildPDFFileName();
+ // C2024-013: When Create RO & Transition Hyperlinks in pdf is ON, disable the MergePdf
+ // button. The Create RO & Transition Hyperlinks option looks for individual file names
+ // for procedures.
+ btnMergePDFs.Enabled = !swtbtnPDFLinks.Value;
}
// C2019-004: Allow user to define duplex blank page text. The text box for blank page text is always enabled for procedures with
@@ -1371,6 +1415,7 @@ namespace VEPROMS
_NewRevForAllProcs = null;
}
+
//private void cbxDebug_CheckedChanged(object sender, EventArgs e)
//{
// cbxCmpPRMSpfd.Visible = cbxDebug.Checked;
diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql
index d8640387..b8e92a44 100644
--- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql
+++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql
@@ -22226,7 +22226,1383 @@ Go
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Succeeded'
ELSE PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Error on Creation'
GO
------------------------------------------------------------------------------
+
+
+
+
+ /*
+==========================================================================================================
+ Begin: C2024-004 | B2024-041: KL - Update Copy Replace functionality, (remove ''copy of'')
+==========================================================================================================
+*/
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ReplaceItemAndChildren]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [ReplaceItemAndChildren];
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Kevin Laskey
+ Create Date: 07/15/2024
+ Description: B2024-041: "Copy of" is no longer being appended for paste before/after
+ ==========================================================================================================
+ */
+
+/****** Object: StoredProcedure [dbo].[CopyItemAndChildren] Script Date: 7/15/2024 9:29:21 AM ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[ReplaceItemAndChildren]
+(
+ @StartItemID INT,
+ @DestFormatID INT,
+ @UserID NVARCHAR(100),
+ @NewStartItemID int output
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+
+--+-----------------------------------------------------------------+
+--& BEGIN TRANSACTION to make these changes temporary &
+--+-----------------------------------------------------------------+
+ BEGIN TRANSACTION
+ if exists (select * from tblitems where itemid = @StartItemID and DeleteStatus !=0)
+ BEGIN
+ RAISERROR ('###Cannot Paste Step###This step has been deleted',16,1)
+ RETURN
+ END
+DECLARE @Children AS TABLE
+(
+ ItemID INT PRIMARY KEY,
+ NewItemID INT,
+ ContentID INT,
+ NewContentID INT,
+ FormatID INT,
+ NewFormatID INT
+)
+DECLARE @NewDocuments AS TABLE
+(
+ DocID INT PRIMARY KEY,
+ NewDocID INT
+)
+-- Locals
+DECLARE @DTS DATETIME -- DTS of all New Items
+DECLARE @StartContentID INT
+Select @StartContentID = ContentID from Items where ItemID = @StartItemID
+SET @DTS = GETDATE() -- Get the current Date and Time
+-- Get a list of all of the Items to be copied based upon StartItemID and EndItemID
+-- If the StartItemID = EndItemID then it is a single item and it's children
+INSERT INTO @Children SELECT ItemID,ItemID,ContentID,ContentID,FormatID,FormatID FROM vefn_ChildItemsRange(@StartItemID,@StartItemID,null)
+-- <<< Copy Contents >>>
+-- Create new content rows to match the existing rows. Set the type to the Current ContentID temporarily
+-- so that the new content rows can be associated with the existing content rows.
+INSERT INTO Contents
+ ([Number],[Text],[Type],[FormatID],[Config],[DTS],[UserID])
+ select CASE when [ContentID] = @StartContentID and [Type]<20000 then [Number] else [Number] end,
+ [Text],[ContentID],[FormatID],[Config],@DTS,@UserID
+ from Contents where ContentID in(Select ContentID from @Children)
+-- Update the @Children with the NewConentIDs
+--print 'A ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN set NN.NewContentID = CC.ContentID
+From Contents CC
+Join @Children NN on NN.ContentID = CC.Type AND CC.DTS = @DTS and CC.UserID = @UserID
+-- Reset the Type column in the Contents table with the Type column from the original Records.
+--print 'B ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+DECLARE @SourceType INT
+Select @SourceType = Type from Contents where ContentID = @StartContentID
+if @SourceType = 0
+ BEGIN
+ UPDATE CC set CC.Type = CC2.Type, CC.DTS = CC2.DTS, CC.UserID = CC2.UserID
+ From Contents CC
+ Join @Children NN on NN.NewContentID = CC.ContentID
+ Join Contents CC2 on NN.ContentID = CC2.ContentID
+ END
+else
+ BEGIN
+UPDATE CC set CC.Type = CC2.Type
+From Contents CC
+Join @Children NN on NN.NewContentID = CC.ContentID
+Join Contents CC2 on NN.ContentID = CC2.ContentID
+ END
+--print 'B1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Contents are done
+ -- SELECT * From Contents where DTS = @DTS and UserID = @UserID
+-- <<< Copy Grids >>>
+INSERT INTO [Grids]([ContentID],[Data],[Config],[DTS],[UserID])
+ SELECT NN.[NewContentID],[Data],[Config],@DTS,@UserID
+ FROM [Grids] GG Join @Children NN on GG.ContentID = NN.ContentID
+-- <<< Copy Images >>>
+--print 'B2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+INSERT INTO [Images]([ContentID],[ImageType],[FileName],[Data],[Config],[DTS],[UserID])
+ SELECT NN.[NewContentID],[ImageType],[FileName],[Data],[Config],@DTS,@UserID
+ FROM [Images] II Join @Children NN on II.ContentID = NN.ContentID
+-- Create new item rows based upon the current item rows and the @Children table, with the NewContentIDs
+--print 'B3 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+INSERT INTO [Items] ([PreviousID],[ContentID],[DTS],[UserID])
+ SELECT II.[PreviousID], -- Leave the PreviousID as is for now
+ NN.NewContentID, @DTS, @UserID
+ from @Children NN
+ join Items II on II.ContentID = NN.ContentID
+-- Update the @Children with the NewItemIDs
+--print 'B4 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN set NN.NewItemID = II.ItemID
+From Items II
+Join @Children NN on NN.NewContentID = II.ContentID AND II.DTS = @DTS and II.UserID = @UserID
+DECLARE @NewItemID int
+SELECT @NewItemID = NewItemID
+ FROM @Children
+ WHERE ItemID = @StartItemID
+--print 'B5 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN SET NN.[NewFormatID] = CC.[FormatID]
+ FROM @Children NN
+ Join vefn_ChildItemsRange(@NewItemID,@NewItemID,@DestFormatID) CC
+ ON NN.NewItemID = CC.ItemID
+-- The @Children table is now complete
+ --SELECT * From @Children
+-- Update the PreviousID in the new Item rows, to the new ItemIDs based upon the old ItemIDs
+--print 'B6 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+Update II Set II.[PreviousID] = NN.NewItemID
+from Items II
+Join @Children NN on NN.ItemID = II.PreviousID AND II.DTS = @DTS and II.UserID = @UserID
+-- Get the new ItemIDs based upon the old ItemIDs
+SELECT @NewStartItemID = NewItemID from @Children where ItemID = @StartItemID
+--SELECT @NewEndItemID = NewItemID from @Children where ItemID = @EndItemID
+-- Set the PreviousID for the starting Item to null temporarily.
+-- This will be adjusted based upon where the step is inserted.
+--print 'B7 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+Update Items Set PreviousID = null where ItemID = @NewStartItemID
+if @SourceType = 0
+ BEGIN
+ UPDATE II SET II.DTS = II2.DTS, II.UserID = II2.UserID
+ From Items II
+ Join @Children NN on NN.NewItemID = II.ItemID
+ Join Items II2 on NN.ItemID = II2.ItemID
+ WHERE NN.ItemID = @StartItemID
+ END
+--print 'C ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Items are done
+ --SELECT * From Items where DTS = @DTS and UserID = @UserID
+-- <<< Copy Parts >>>
+INSERT INTO [Parts] ([ContentID],[FromType],[ItemID],[DTS],[UserID])
+Select NNF.NewContentID,[FromType],NNT.NewItemID, @DTS, @UserID from Parts PP
+JOIN @Children NNF on PP.ContentID = NNF.ContentID
+JOIN @Children NNT on PP.ItemID = NNT.ItemID
+--print 'D ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Parts are done
+ -- SELECT * From Parts where DTS = @DTS and UserID = @UserID
+-- <<< Copy Annotations >>>
+INSERT INTO [Annotations] ([ItemID],[TypeID],[RtfText],[SearchText],[Config],[DTS],[UserID])
+ Select NewItemID, TypeID, RtfText, SearchText, Config, @DTS, @UserID
+ from Annotations AA Join @Children NN on AA.ItemID = NN.ItemID
+--print 'E ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Annotations are done
+ -- SELECT * From Annotations where DTS = @DTS and UserID = @UserID
+-- <<< Copy Documents and Entries>>>
+-- logic to create Entries for Library Documents
+INSERT INTO [Entries] ([ContentID],[DocID],[DTS],[UserID])
+ SELECT NN.[NewContentID],EE.[DocID],@DTS,@UserID
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN [Documents] DD on EE.[DocID] = DD.[DocID] and Isnull(LibTitle,'') <> ''
+-- Logic to create new documents for any documents used that do not have libtitles
+INSERT INTO [Documents] ([LibTitle],[DocContent],[DocAscii],[Config],[DTS],[UserID],[FileExtension])
+ OUTPUT CAST(INSERTED.[LibTitle] as INT),INSERTED.[DocID] INTO @NewDocuments
+ SELECT str(DD.[DocID]),[DocContent],[DocAscii],[Config],@DTS,@UserID,[FileExtension]
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN [Documents] DD on EE.[DocID] = DD.[DocID] and Isnull(LibTitle,'') = ''
+UPDATE DD SET LibTitle = ''
+ FROM Documents DD JOIN @NewDocuments ND on DD.[DocID] = ND.[NewDocID]
+ where DTS = @DTS and UserID = @UserID
+--print 'F ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Documents are Done
+ -- SELECT * From Documents where DTS = @DTS and UserID = @UserID
+-- Logic to create entries for these newly created documents
+INSERT INTO [Entries] ([ContentID],[DocID],[DTS],[UserID])
+ SELECT NN.[NewContentID],ND.[NewDocID],@DTS,@UserID
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN @NewDocuments ND on EE.[DocID] = ND.[DocID]
+-- Logic to Create DROUsages for these newly created documents
+INSERT INTO [DROUsages] ([DocID],[ROID],[Config],[DTS],[UserID],[RODbID])
+ SELECT ND.[NewDocID],[ROID],[Config],@DTS,@UserID,[RODbID]
+ FROM [DROUsages] RR
+ JOIN @NewDocuments ND on RR.[DocID] = ND.[DocID]
+
+--print 'G ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Entries are done
+ -- SELECT * From Entries EE JOIN Documents DD on ee.DocID = DD.DocID where EE.DTS = @DTS and EE.UserID = @UserID
+-- <<< Copy RoUsages >>>
+INSERT INTO [RoUsages] ([ContentID],[ROID],[Config],[DTS],[UserID],[RODbID])
+ SELECT NN.[NewContentID],CAST([ROUsageID] as nvarchar(16)),[Config],@DTS,@UserID,[RODbID]
+ FROM [RoUsages] RR Join @Children NN on RR.ContentID = NN.ContentID
+-- Update content records for newly copied records to use correct RO usage ids in the RO tags
+DECLARE @RowsAffected int
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+ UPDATE CC SET [TEXT] = C2.NewText
+ FROM CONTENTS CC
+ JOIN (SELECT C1.ContentID, .dbo.vefn_FixROText(C1.Text, CAST([ROID] as int), [ROUsageID]) NewText
+ FROM CONTENTS C1
+ JOIN @Children NN on C1.ContentID = NN.NewContentID
+ JOIN RoUsages RO on NN.NewContentID = RO.ContentID where Len([ROID]) < 12) C2 ON CC.ContentID = C2.ContentID
+ WHERE [TEXT] <> C2.NewText
+ SET @RowsAffected = @@RowCount
+END
+-- Update grid records for newly copied records to use correct RO usage ids in the RO tags
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+ UPDATE GG SET [Data] = G2.NewData
+ FROM GRIDS GG
+ JOIN (SELECT G1.ContentID, .dbo.vefn_FixROData(G1.Data, CAST([ROID] as int), [ROUsageID]) NewData
+ FROM GRIDS G1
+ JOIN @Children NN on G1.ContentID = NN.NewContentID
+ JOIN RoUsages RO on NN.NewContentID = RO.ContentID where Len([ROID]) < 12) G2 ON GG.ContentID = G2.ContentID
+ WHERE Cast([Data] as nvarchar(max)) <> cast(G2.NewData as nvarchar(max))
+ SET @RowsAffected = @@RowCount
+END
+UPDATE RON SET [ROID] = ROO.[ROID]
+ FROM RoUsages RON
+ JOIN @Children NN on RON.ContentID = NN.NewContentID
+ JOIN RoUsages ROO on CAST(RON.ROID as int) = ROO.RoUsageID
+ where Len(RON.[ROID]) < 12
+--print 'H ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- RoUsages are done
+ -- SELECT * From RoUsages where DTS = @DTS and UserID = @UserID
+
+-- <<< Copy Transtions >>>
+-- Note that the inserted record has the 'TranType' field set to old transitionid. This is done
+-- so that the next step can replace the old transitionid with the new transitionid in the
+-- content record's transition tokens. The TranType gets reset after the content records are
+-- updated.
+-- Also note that the 'toid/rangeid' may need converted to newly copied ids or may not. If it's
+-- not a range, then it always is converted to new, if there is a new. If it's a range, both
+-- the toid & the rangeid must be new in order for the conversion to be correct. You cannot
+-- have part of the range pointing to the new and part of the range pointing to the original
+-- locations.
+
+INSERT INTO .[dbo].[Transitions] ([FromID],[ToID],[RangeID],[IsRange],[TranType],[Config],[DTS],[UserID])
+ SELECT NNF.[NewContentID],
+ -- if both toid & range are null, use the original toid & rangeid
+ CASE WHEN NNT.[NewItemID] is null or NNR.[NewItemID] is null THEN [ToID] ELSE NNT.[NewItemID] END,
+ CASE WHEN NNT.[NewItemID] is null or NNR.[NewItemID] is null THEN [RangeID] ELSE NNR.[NewItemID] END,
+ [IsRange],[TransitionID],[Config],@DTS,@UserID
+ FROM .[dbo].[Transitions] TT
+ JOIN @Children NNF on TT.[FromID] = NNF.[ContentID]
+ LEFT JOIN @Children NNT on TT.[ToID] = NNT.[ItemID]
+ LEFT JOIN @Children NNR on TT.[RangeID] = NNR.[ItemID]
+--print 'H1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- -- Update content records for newly copied records to use correct TransitionIDs in the Transition tags
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+UPDATE CC SET [TEXT] = C2.NewText
+ FROM CONTENTS CC
+ JOIN (SELECT C1.ContentID, .dbo.vefn_FixTransitionTextForCopy(C1.Text, TRO.TransitionID, TRO.TranType, TRO.[ToID], TRO.[RangeID],TR.[TransitionID], TR.[ToID], TR.[RangeID], .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)) NewText
+ FROM CONTENTS C1
+ JOIN @Children NN on C1.ContentID = NN.NewContentID
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID) C2 ON CC.ContentID = C2.ContentID
+ WHERE [TEXT] <> C2.NewText
+ SET @RowsAffected = @@RowCount
+END
+--print 'H2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--set nocount off
+-- -- Update grid records for newly copied records to use correct TransitionIDs in the Transition tags
+declare @grids table
+(
+contentid int primary key,
+data xml
+)
+insert into @grids select gg.contentid,gg.data from GRIDS GG
+ where gg.contentid in (select nn.newcontentid from
+ @Children NN
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID)
+--print 'H2.1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--select * from @grids
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+UPDATE GG SET [DATA] = G2.NewData
+ FROM @GRIDS GG
+ JOIN (SELECT G1.ContentID, .dbo.vefn_FixTransitionDataForCopy(G1.Data, TRO.TransitionID, TRO.TranType, TRO.[ToID], TRO.[RangeID],TR.[TransitionID], TR.[ToID], TR.[RangeID], .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)) NewData
+ FROM @GRIDS G1
+ JOIN @Children NN on G1.ContentID = NN.NewContentID
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID) G2 ON GG.ContentID = G2.ContentID
+ WHERE Cast([DATA] as nvarchar(max)) <> CAST(G2.NewData as nvarchar(max))
+ SET @RowsAffected = @@RowCount
+END
+--print 'H2.2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+update GG set data = g1.data from Grids gg join @grids g1 on gg.contentid = g1.contentid
+--print 'H3 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--set nocount on
+-- Add 'Verification Required' AnnotationType
+ DECLARE @typeID int
+ SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required'
+ IF(@typeID IS NULL)
+ BEGIN
+ INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian')
+ SELECT @typeID = SCOPE_IDENTITY()
+ END
+ -- Add "Verification Required" Annotation for each Transition whose transition format changes
+INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID])
+ SELECT NN.NewItemID, @typeID,'Verify Transition Format',@UserID
+ FROM Transitions TR
+ JOIN @Children NN on TR.FromID = NN.NewContentID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID
+ WHERE .dbo.vefn_CompareTranFormat(NN.FormatID, NN.NewFormatID, TRO.TranType) <> 0
+--print 'H4 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE TR SET TR.[TranType] = .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)
+ FROM Transitions TR
+ JOIN @Children NN on TR.FromID = NN.NewContentID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID
+--print 'H5 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Transitions are done
+ -- SELECT * From Transitions where DTS = @DTS and UserID = @UserID
+--print 'Z ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--foldouts fixing code
+if exists (select * from contents where contentid in (select newcontentid from @children) and config like '%FloatingFoldout%')
+begin
+ --insert into #mytemp
+ select cc.contentid,xsteps.value('@FloatingFoldout','int') oldfoldoutid,(select newitemid
+ from @children
+ where itemid = xsteps.value('@FloatingFoldout','int')) newfoldoutid,xconfig
+ into #mytemp
+ from (select *,cast(config as xml) xconfig from contents where contentid in (select newcontentid from @children)) cc
+ cross apply xconfig.nodes('Config/Step') tsteps(xsteps)
+ --build @cmd string
+ declare @cmd nvarchar(max)
+ declare cmds cursor for
+ select distinct 'update #mytemp set xconfig.modify(''replace value of (Config/Step/@FloatingFoldout)[1] with "'
+ + cast(newfoldoutid as varchar(10))
+ + '"'') where xconfig.value(''(Config/Step/@FloatingFoldout)[1]'',''int'') = '
+ + cast(oldfoldoutid as varchar(10))
+ from #mytemp
+ --execute cursor over rows
+ open cmds
+ fetch next from cmds into @cmd
+ while @@fetch_status = 0
+ begin
+ exec sp_executesql @cmd
+ fetch next from cmds into @cmd
+ end
+ close cmds
+ deallocate cmds
+ --actually update contents
+ update cc set config = cast(xconfig as varchar(max)) from contents cc join #mytemp mt on cc.contentid = mt.contentid
+ --get rid of #mytemp
+ drop table #mytemp
+end
+--end foldouts fixing code
+--section start
+DECLARE @NewContentID int
+Select @NewContentID = NewContentID from @Children where ItemID = @StartItemID
+DECLARE @Config varchar(max)
+DECLARE @XConfig xml
+select @Config = config from contents where contentid = @NewContentID
+select @XConfig = cast(@Config as xml)
+if @Config like '%SectionStart%' begin
+ DECLARE @SectionStart int
+ select @SectionStart = xproc.value('@SectionStart','int') from @xconfig.nodes('Config/Procedure') tproc(xproc)
+ DECLARE @NewSectionStart int
+ select @NewSectionStart = newitemid from @children where itemid = @SectionStart
+ DECLARE @cmd2 nvarchar(max)
+ set @cmd2 = '
+ declare @XConfig xml;
+ set @XConfig = cast(''' + @Config + ''' as xml);
+ set @XConfig.modify(''replace value of (Config/Procedure/@SectionStart)[1] with "' + cast(@NewSectionStart as nvarchar(10)) + '"'');
+ update contents set config = cast(@XConfig as varchar(max)) where contentid = ' + cast(@NewContentID as nvarchar(10)) + ';'
+ exec sp_executesql @cmd2
+end
+--end section start
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+
+
+
+
+
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PasteItemReplace]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [PasteItemReplace];
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Kevin Laskey
+ Create Date: 07/15/2024
+ Description: B2024-041: "Copy of" is no longer being appended for paste before/after
+ ==========================================================================================================
+ */
+
+
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+/****** Object: StoredProcedure [dbo].[PasteItemReplace] Script Date: 03/20/2012 16:02:54 ******/
+/*
+declare @NewItemID int
+declare @dts datetime
+set @newitemid = 0
+set @dts = getdate()
+exec PasteItemReplace 398,397,20014,@dts,'bodine',@NewItemID output
+*/
+-- ItemID is item to replace
+-- StartItemID is item to copy
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[PasteItemReplace]
+(
+ @ItemID int=null, @StartItemID int=null,
+ @Type int=null, @DTS datetime, @UserID nvarchar(100),
+ @NewItemID int output
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ DECLARE @ContentID AS INT
+ DECLARE @NextItemID AS INT
+ DECLARE @PreviousItemID AS INT
+ DECLARE @ExternalChildCount AS INT
+ DECLARE @ExternalCount AS INT
+ DECLARE @Path AS VARCHAR(MAX)
+ DECLARE @Children AS TABLE
+ (
+ ItemID INT PRIMARY KEY,
+ ContentID INT
+ )
+
+ if exists (select * from tblitems where itemid = @ItemID and DeleteStatus !=0)
+ BEGIN
+ RAISERROR ('###Cannot Paste Step###This current step has been deleted in another session',16,1)
+ RETURN
+ END
+ -- First check if the replaced item can be deleted, i.e. it doesn't have transitions
+ -- pointing to it or children.
+
+ DECLARE @ExternalTrans TABLE
+ (
+ [FromItemID] int,
+ [TransitionID] [int] NOT NULL,
+ [FromID] [int] NOT NULL,
+ [ToID] [int] NOT NULL,
+ [RangeID] [int] NOT NULL,
+ [Config] [nvarchar](max) NULL
+ )
+ SET NOCOUNT ON
+ DECLARE @DeleteID int
+ INSERT INTO DeleteLog (UserID) VALUES (@UserID)
+ SELECT @DeleteID = SCOPE_IDENTITY()
+ SELECT @ContentID = ContentID, @PreviousItemID = PreviousID FROM Items WHERE ItemID = @ItemID
+ SELECT @NextItemID = ItemID FROM Items WHERE PreviousID = @ItemID
+ --SELECT @ExternalCount = count(*) FROM vefn_FindExternalTransitions(@ItemID)
+ SELECT @ExternalChildCount = count(*) FROM vefn_FindExternalChildTransitions(@ItemID)
+ SET @Path = [dbo].[ve_GetShortPath](@ItemID)
+
+ --IF @ExternalCount > 0 AND @NextItemID is null
+ --BEGIN
+ -- RAISERROR ('###Cannot Delete Item###Step %d has External Transitions and has no next step - (%s)',16,1,@ItemID,@Path)
+ -- RETURN
+ --END
+
+ IF @ExternalChildCount > 0
+ BEGIN
+ RAISERROR ('###Cannot Delete Item###Step %d has External Transitions to it''s children - (%s)',16,1,@ItemID,@Path)
+ RETURN
+ END
+
+ -- Copy the item, 'NewItemID' represents the new item(s)
+ -- DestFormatID is the formatid for the destination parent's format
+ DECLARE @DestFormatID int
+ SET @DestFormatID = .dbo.vefn_GetInheritedFormat(@ItemID, 0)
+ EXECUTE ReplaceItemAndChildren @StartItemID, @DestFormatID, @UserID, @NewItemID OUTPUT
+
+ -- Adjust the next/previous to point to the new item
+
+ DECLARE @PreviousID int
+ SELECT @PreviousID = [PreviousID]
+ FROM [ITEMS] II
+ WHERE [ItemID]=@ItemID
+ UPDATE [ITEMS] SET [PreviousID]=@PreviousID where [ItemID]=@NewItemID
+ UPDATE [CONTENTS] SET [Type]=@Type
+ FROM [CONTENTS] CC JOIN [ITEMS] ii ON CC.[ContentID]=II.[ContentID]
+ WHERE [ItemID]=@NewItemID
+ UPDATE [ITEMS] SET [PreviousID]=@NewItemID where [PreviousID]=@ItemID
+ UPDATE [PARTS] SET [ItemID]=@NewItemID where [ItemID]=@ItemID
+
+ -- UPDATE DocVersion if this was a procedure
+ UPDATE DocVersions SET ItemID=@NewItemID where ItemID = @ItemID
+
+ -- If there were 'external transitions' that pointed to the original
+ -- top replaced step, adjust them to point to the new top.
+ INSERT INTO @ExternalTrans SELECT * FROM vefn_FindExternalTransitions(@ItemID)
+ OPTION (MAXRECURSION 10000)
+ IF (SELECT COUNT(*) from @ExternalTrans) > 0
+ BEGIN
+ -- Update content records for the transitions
+ Update CC
+ Set Text = DBO.vefn_FixTransitionText(Text,TT.TransitionID,TT.TranType,TT.ToID,TT.RangeID,@ItemID,@NewItemID)
+ From CONTENTS CC
+ JOIN Transitions TT ON TT.FromID = CC.ContentID
+ WHERE TransitionID in(Select TransitionID from @ExternalTrans)
+ -- Update transitions that point to @ItemID to Point to @NextItemID
+ UPDATE TRANSITIONS
+ SET ToID = case when ToID = @ItemID then @NewItemID else ToID END,
+ RangeID = case when RangeID = @ItemID then @NewItemID else RangeID END
+ WHERE TransitionID in(Select TransitionID from @ExternalTrans)
+
+ DECLARE @typeID int -- AnnotationType
+ SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required'
+ IF(@typeID IS NULL)
+ BEGIN
+ INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian')
+ SELECT @typeID = SCOPE_IDENTITY()
+ END
+ -- Add 'Verification Required' annotions for transtions that pointed to top step
+ -- and need to point to
+ INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID])
+ SELECT ItemID, @typeID,'Verify Replaced Step Transition Destination',@UserID
+ FROM Items where ItemID in (SELECT FromItemID FROM @ExternalTrans)
+
+ END
+ -- Remove the old one
+
+ -- Get list of Children
+ INSERT INTO @Children SELECT * FROM vefn_ChildItems(@ItemID)
+ -- Delete Annotations for @ItemID and children
+ DELETE from Annotations where ItemID in(Select ItemID from @Children)
+ -- Delete Details associated with @ContentID and children
+ DELETE from Details where ContentID in(Select ContentID from @Children)
+ -- Delete Grids associated with @ContentID and children
+ DELETE from Grids where ContentID in(Select ContentID from @Children)
+ -- Delete Images associated with @ContentID and children
+ DELETE from Images where ContentID in(Select ContentID from @Children)
+ -- Delete Entries associated with @ContentID and children
+ DELETE from Entries where ContentID in(Select ContentID from @Children)
+ -- Delete ROUsages associated with @ContentID and children
+ DELETE from RoUsages where ContentID in(Select ContentID from @Children)
+ -- Delete ZTransitions records associated with @ContentID and children
+ DELETE FROM ZTransitions where TransitionID
+ in(SELECT TransitionID from Transitions where FromID in(SELECT ContentID FROM @Children) or FromID = @ContentID)
+ -- Delete Transitions associated with @ContentID and children
+ DELETE FROM Transitions where FromID in(SELECT ContentID FROM @Children) or FromID = @ContentID
+ -- Delete Parts associated with @ContentID and children
+ DELETE from Parts where ContentID in(Select ContentID from @Children)
+ -- Delete ZContents associated with @ContentID and children
+ DELETE from ZContents where ContentID in(Select ContentID from @Children)
+ -- Disconnect Items from Each Other
+ DELETE from Items where ItemID in(Select ItemID from @Children) and PreviousID Is Not Null
+ -- Disconnect Items to be deleted from each other
+ Update Items set PreviousID = null where ItemID in (Select ItemID from @Children) and PreviousID Is Not Null
+ -- Delete Item Records
+ DELETE from Items where ItemID in(Select ItemID from @Children)
+ -- DELETE Contents
+ DELETE from Contents where ContentID in(Select ContentID from @Children)
+--delete from itemaudits where itemid = @newitemid
+delete from itemaudits where itemid in (select itemid from vefn_ChildItems(@newitemid))
+--delete from contentaudits where contentid = (select contentid from items where itemid = @newitemid)
+delete from contentaudits where contentid in (select contentid from vefn_ChildItems(@newitemid))
+ DELETE from DeleteLog where DeleteID = @DeleteID
+ IF( @@TRANCOUNT > 0 ) COMMIT
+ EXECUTE GetItem @NewItemID
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+go
+
+
+
+
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CopyItemAndChildren]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [CopyItemAndChildren];
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Kevin Laskey
+ Create Date: 07/15/2024
+ Description: B2024-041: "Copy of" is no longer being appended for paste before/after
+ ==========================================================================================================
+ */
+
+
+/****** Object: StoredProcedure [dbo].[CopyItemAndChildren] Script Date: 7/15/2024 10:01:59 AM ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[CopyItemAndChildren]
+(
+ @StartItemID INT,
+ @DestFormatID INT,
+ @UserID NVARCHAR(100),
+ @NewStartItemID int output
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+
+--+-----------------------------------------------------------------+
+--& BEGIN TRANSACTION to make these changes temporary &
+--+-----------------------------------------------------------------+
+ BEGIN TRANSACTION
+ if exists (select * from tblitems where itemid = @StartItemID and DeleteStatus !=0)
+ BEGIN
+ RAISERROR ('###Cannot Paste Step###This step has been deleted',16,1)
+ RETURN
+ END
+DECLARE @Children AS TABLE
+(
+ ItemID INT PRIMARY KEY,
+ NewItemID INT,
+ ContentID INT,
+ NewContentID INT,
+ FormatID INT,
+ NewFormatID INT
+)
+DECLARE @NewDocuments AS TABLE
+(
+ DocID INT PRIMARY KEY,
+ NewDocID INT
+)
+-- Locals
+DECLARE @DTS DATETIME -- DTS of all New Items
+DECLARE @StartContentID INT
+Select @StartContentID = ContentID from Items where ItemID = @StartItemID
+SET @DTS = GETDATE() -- Get the current Date and Time
+-- Get a list of all of the Items to be copied based upon StartItemID and EndItemID
+-- If the StartItemID = EndItemID then it is a single item and it's children
+INSERT INTO @Children SELECT ItemID,ItemID,ContentID,ContentID,FormatID,FormatID FROM vefn_ChildItemsRange(@StartItemID,@StartItemID,null)
+-- <<< Copy Contents >>>
+-- Create new content rows to match the existing rows. Set the type to the Current ContentID temporarily
+-- so that the new content rows can be associated with the existing content rows.
+INSERT INTO Contents
+ ([Number],[Text],[Type],[FormatID],[Config],[DTS],[UserID])
+ select CASE when [ContentID] = @StartContentID and [Type]<20000 then 'Copy Of ' + [Number] else [Number] end,
+ [Text],[ContentID],[FormatID],[Config],@DTS,@UserID
+ from Contents where ContentID in(Select ContentID from @Children)
+-- Update the @Children with the NewConentIDs
+--print 'A ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN set NN.NewContentID = CC.ContentID
+From Contents CC
+Join @Children NN on NN.ContentID = CC.Type AND CC.DTS = @DTS and CC.UserID = @UserID
+-- Reset the Type column in the Contents table with the Type column from the original Records.
+--print 'B ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+DECLARE @SourceType INT
+Select @SourceType = Type from Contents where ContentID = @StartContentID
+if @SourceType = 0
+ BEGIN
+ UPDATE CC set CC.Type = CC2.Type, CC.DTS = CC2.DTS, CC.UserID = CC2.UserID
+ From Contents CC
+ Join @Children NN on NN.NewContentID = CC.ContentID
+ Join Contents CC2 on NN.ContentID = CC2.ContentID
+ END
+else
+ BEGIN
+UPDATE CC set CC.Type = CC2.Type
+From Contents CC
+Join @Children NN on NN.NewContentID = CC.ContentID
+Join Contents CC2 on NN.ContentID = CC2.ContentID
+ END
+--print 'B1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Contents are done
+ -- SELECT * From Contents where DTS = @DTS and UserID = @UserID
+-- <<< Copy Grids >>>
+INSERT INTO [Grids]([ContentID],[Data],[Config],[DTS],[UserID])
+ SELECT NN.[NewContentID],[Data],[Config],@DTS,@UserID
+ FROM [Grids] GG Join @Children NN on GG.ContentID = NN.ContentID
+-- <<< Copy Images >>>
+--print 'B2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+INSERT INTO [Images]([ContentID],[ImageType],[FileName],[Data],[Config],[DTS],[UserID])
+ SELECT NN.[NewContentID],[ImageType],[FileName],[Data],[Config],@DTS,@UserID
+ FROM [Images] II Join @Children NN on II.ContentID = NN.ContentID
+-- Create new item rows based upon the current item rows and the @Children table, with the NewContentIDs
+--print 'B3 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+INSERT INTO [Items] ([PreviousID],[ContentID],[DTS],[UserID])
+ SELECT II.[PreviousID], -- Leave the PreviousID as is for now
+ NN.NewContentID, @DTS, @UserID
+ from @Children NN
+ join Items II on II.ContentID = NN.ContentID
+-- Update the @Children with the NewItemIDs
+--print 'B4 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN set NN.NewItemID = II.ItemID
+From Items II
+Join @Children NN on NN.NewContentID = II.ContentID AND II.DTS = @DTS and II.UserID = @UserID
+DECLARE @NewItemID int
+SELECT @NewItemID = NewItemID
+ FROM @Children
+ WHERE ItemID = @StartItemID
+--print 'B5 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE NN SET NN.[NewFormatID] = CC.[FormatID]
+ FROM @Children NN
+ Join vefn_ChildItemsRange(@NewItemID,@NewItemID,@DestFormatID) CC
+ ON NN.NewItemID = CC.ItemID
+-- The @Children table is now complete
+ --SELECT * From @Children
+-- Update the PreviousID in the new Item rows, to the new ItemIDs based upon the old ItemIDs
+--print 'B6 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+Update II Set II.[PreviousID] = NN.NewItemID
+from Items II
+Join @Children NN on NN.ItemID = II.PreviousID AND II.DTS = @DTS and II.UserID = @UserID
+-- Get the new ItemIDs based upon the old ItemIDs
+SELECT @NewStartItemID = NewItemID from @Children where ItemID = @StartItemID
+--SELECT @NewEndItemID = NewItemID from @Children where ItemID = @EndItemID
+-- Set the PreviousID for the starting Item to null temporarily.
+-- This will be adjusted based upon where the step is inserted.
+--print 'B7 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+Update Items Set PreviousID = null where ItemID = @NewStartItemID
+if @SourceType = 0
+ BEGIN
+ UPDATE II SET II.DTS = II2.DTS, II.UserID = II2.UserID
+ From Items II
+ Join @Children NN on NN.NewItemID = II.ItemID
+ Join Items II2 on NN.ItemID = II2.ItemID
+ WHERE NN.ItemID = @StartItemID
+ END
+--print 'C ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Items are done
+ --SELECT * From Items where DTS = @DTS and UserID = @UserID
+-- <<< Copy Parts >>>
+INSERT INTO [Parts] ([ContentID],[FromType],[ItemID],[DTS],[UserID])
+Select NNF.NewContentID,[FromType],NNT.NewItemID, @DTS, @UserID from Parts PP
+JOIN @Children NNF on PP.ContentID = NNF.ContentID
+JOIN @Children NNT on PP.ItemID = NNT.ItemID
+--print 'D ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Parts are done
+ -- SELECT * From Parts where DTS = @DTS and UserID = @UserID
+-- <<< Copy Annotations >>>
+INSERT INTO [Annotations] ([ItemID],[TypeID],[RtfText],[SearchText],[Config],[DTS],[UserID])
+ Select NewItemID, TypeID, RtfText, SearchText, Config, @DTS, @UserID
+ from Annotations AA Join @Children NN on AA.ItemID = NN.ItemID
+--print 'E ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Annotations are done
+ -- SELECT * From Annotations where DTS = @DTS and UserID = @UserID
+-- <<< Copy Documents and Entries>>>
+-- logic to create Entries for Library Documents
+INSERT INTO [Entries] ([ContentID],[DocID],[DTS],[UserID])
+ SELECT NN.[NewContentID],EE.[DocID],@DTS,@UserID
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN [Documents] DD on EE.[DocID] = DD.[DocID] and Isnull(LibTitle,'') <> ''
+-- Logic to create new documents for any documents used that do not have libtitles
+INSERT INTO [Documents] ([LibTitle],[DocContent],[DocAscii],[Config],[DTS],[UserID],[FileExtension])
+ OUTPUT CAST(INSERTED.[LibTitle] as INT),INSERTED.[DocID] INTO @NewDocuments
+ SELECT str(DD.[DocID]),[DocContent],[DocAscii],[Config],@DTS,@UserID,[FileExtension]
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN [Documents] DD on EE.[DocID] = DD.[DocID] and Isnull(LibTitle,'') = ''
+UPDATE DD SET LibTitle = ''
+ FROM Documents DD JOIN @NewDocuments ND on DD.[DocID] = ND.[NewDocID]
+ where DTS = @DTS and UserID = @UserID
+--print 'F ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Documents are Done
+ -- SELECT * From Documents where DTS = @DTS and UserID = @UserID
+-- Logic to create entries for these newly created documents
+INSERT INTO [Entries] ([ContentID],[DocID],[DTS],[UserID])
+ SELECT NN.[NewContentID],ND.[NewDocID],@DTS,@UserID
+ FROM [Entries] EE JOIN @Children NN on NN.ContentID = EE.ContentID
+ JOIN @NewDocuments ND on EE.[DocID] = ND.[DocID]
+-- Logic to Create DROUsages for these newly created documents
+INSERT INTO [DROUsages] ([DocID],[ROID],[Config],[DTS],[UserID],[RODbID])
+ SELECT ND.[NewDocID],[ROID],[Config],@DTS,@UserID,[RODbID]
+ FROM [DROUsages] RR
+ JOIN @NewDocuments ND on RR.[DocID] = ND.[DocID]
+
+--print 'G ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Entries are done
+ -- SELECT * From Entries EE JOIN Documents DD on ee.DocID = DD.DocID where EE.DTS = @DTS and EE.UserID = @UserID
+-- <<< Copy RoUsages >>>
+INSERT INTO [RoUsages] ([ContentID],[ROID],[Config],[DTS],[UserID],[RODbID])
+ SELECT NN.[NewContentID],CAST([ROUsageID] as nvarchar(16)),[Config],@DTS,@UserID,[RODbID]
+ FROM [RoUsages] RR Join @Children NN on RR.ContentID = NN.ContentID
+-- Update content records for newly copied records to use correct RO usage ids in the RO tags
+DECLARE @RowsAffected int
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+ UPDATE CC SET [TEXT] = C2.NewText
+ FROM CONTENTS CC
+ JOIN (SELECT C1.ContentID, .dbo.vefn_FixROText(C1.Text, CAST([ROID] as int), [ROUsageID]) NewText
+ FROM CONTENTS C1
+ JOIN @Children NN on C1.ContentID = NN.NewContentID
+ JOIN RoUsages RO on NN.NewContentID = RO.ContentID where Len([ROID]) < 12) C2 ON CC.ContentID = C2.ContentID
+ WHERE [TEXT] <> C2.NewText
+ SET @RowsAffected = @@RowCount
+END
+-- Update grid records for newly copied records to use correct RO usage ids in the RO tags
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+ UPDATE GG SET [Data] = G2.NewData
+ FROM GRIDS GG
+ JOIN (SELECT G1.ContentID, .dbo.vefn_FixROData(G1.Data, CAST([ROID] as int), [ROUsageID]) NewData
+ FROM GRIDS G1
+ JOIN @Children NN on G1.ContentID = NN.NewContentID
+ JOIN RoUsages RO on NN.NewContentID = RO.ContentID where Len([ROID]) < 12) G2 ON GG.ContentID = G2.ContentID
+ WHERE Cast([Data] as nvarchar(max)) <> cast(G2.NewData as nvarchar(max))
+ SET @RowsAffected = @@RowCount
+END
+UPDATE RON SET [ROID] = ROO.[ROID]
+ FROM RoUsages RON
+ JOIN @Children NN on RON.ContentID = NN.NewContentID
+ JOIN RoUsages ROO on CAST(RON.ROID as int) = ROO.RoUsageID
+ where Len(RON.[ROID]) < 12
+--print 'H ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- RoUsages are done
+ -- SELECT * From RoUsages where DTS = @DTS and UserID = @UserID
+
+-- <<< Copy Transtions >>>
+-- Note that the inserted record has the 'TranType' field set to old transitionid. This is done
+-- so that the next step can replace the old transitionid with the new transitionid in the
+-- content record's transition tokens. The TranType gets reset after the content records are
+-- updated.
+-- Also note that the 'toid/rangeid' may need converted to newly copied ids or may not. If it's
+-- not a range, then it always is converted to new, if there is a new. If it's a range, both
+-- the toid & the rangeid must be new in order for the conversion to be correct. You cannot
+-- have part of the range pointing to the new and part of the range pointing to the original
+-- locations.
+
+INSERT INTO .[dbo].[Transitions] ([FromID],[ToID],[RangeID],[IsRange],[TranType],[Config],[DTS],[UserID])
+ SELECT NNF.[NewContentID],
+ -- if both toid & range are null, use the original toid & rangeid
+ CASE WHEN NNT.[NewItemID] is null or NNR.[NewItemID] is null THEN [ToID] ELSE NNT.[NewItemID] END,
+ CASE WHEN NNT.[NewItemID] is null or NNR.[NewItemID] is null THEN [RangeID] ELSE NNR.[NewItemID] END,
+ [IsRange],[TransitionID],[Config],@DTS,@UserID
+ FROM .[dbo].[Transitions] TT
+ JOIN @Children NNF on TT.[FromID] = NNF.[ContentID]
+ LEFT JOIN @Children NNT on TT.[ToID] = NNT.[ItemID]
+ LEFT JOIN @Children NNR on TT.[RangeID] = NNR.[ItemID]
+--print 'H1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- -- Update content records for newly copied records to use correct TransitionIDs in the Transition tags
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+UPDATE CC SET [TEXT] = C2.NewText
+ FROM CONTENTS CC
+ JOIN (SELECT C1.ContentID, .dbo.vefn_FixTransitionTextForCopy(C1.Text, TRO.TransitionID, TRO.TranType, TRO.[ToID], TRO.[RangeID],TR.[TransitionID], TR.[ToID], TR.[RangeID], .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)) NewText
+ FROM CONTENTS C1
+ JOIN @Children NN on C1.ContentID = NN.NewContentID
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID) C2 ON CC.ContentID = C2.ContentID
+ WHERE [TEXT] <> C2.NewText
+ SET @RowsAffected = @@RowCount
+END
+--print 'H2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--set nocount off
+-- -- Update grid records for newly copied records to use correct TransitionIDs in the Transition tags
+declare @grids table
+(
+contentid int primary key,
+data xml
+)
+insert into @grids select gg.contentid,gg.data from GRIDS GG
+ where gg.contentid in (select nn.newcontentid from
+ @Children NN
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID)
+--print 'H2.1 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--select * from @grids
+SET @RowsAffected=1
+WHILE @RowsAffected > 0
+BEGIN
+UPDATE GG SET [DATA] = G2.NewData
+ FROM @GRIDS GG
+ JOIN (SELECT G1.ContentID, .dbo.vefn_FixTransitionDataForCopy(G1.Data, TRO.TransitionID, TRO.TranType, TRO.[ToID], TRO.[RangeID],TR.[TransitionID], TR.[ToID], TR.[RangeID], .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)) NewData
+ FROM @GRIDS G1
+ JOIN @Children NN on G1.ContentID = NN.NewContentID
+ JOIN Transitions TR on NN.NewContentID = TR.FromID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID) G2 ON GG.ContentID = G2.ContentID
+ WHERE Cast([DATA] as nvarchar(max)) <> CAST(G2.NewData as nvarchar(max))
+ SET @RowsAffected = @@RowCount
+END
+--print 'H2.2 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+update GG set data = g1.data from Grids gg join @grids g1 on gg.contentid = g1.contentid
+--print 'H3 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--set nocount on
+-- Add 'Verification Required' AnnotationType
+ DECLARE @typeID int
+ SELECT @typeID = TypeID from AnnotationTypes where Name = 'Verification Required'
+ IF(@typeID IS NULL)
+ BEGIN
+ INSERT INTO [AnnotationTypes] ([Name],[UserID]) VALUES ('Verification Required','Volian')
+ SELECT @typeID = SCOPE_IDENTITY()
+ END
+ -- Add "Verification Required" Annotation for each Transition whose transition format changes
+INSERT INTO [Annotations] ([ItemID],[TypeID],[SearchText],[UserID])
+ SELECT NN.NewItemID, @typeID,'Verify Transition Format',@UserID
+ FROM Transitions TR
+ JOIN @Children NN on TR.FromID = NN.NewContentID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID
+ WHERE .dbo.vefn_CompareTranFormat(NN.FormatID, NN.NewFormatID, TRO.TranType) <> 0
+--print 'H4 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+UPDATE TR SET TR.[TranType] = .dbo.vefn_GetNewTranType(NN.FormatID, NN.NewFormatID, TRO.TranType)
+ FROM Transitions TR
+ JOIN @Children NN on TR.FromID = NN.NewContentID
+ JOIN Transitions TRO on TR.TranType = TRO.TransitionID
+--print 'H5 ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+-- Transitions are done
+ -- SELECT * From Transitions where DTS = @DTS and UserID = @UserID
+--print 'Z ' + cast(datediff(s,@dts,getdate()) as varchar(100))
+--foldouts fixing code
+if exists (select * from contents where contentid in (select newcontentid from @children) and config like '%FloatingFoldout%')
+begin
+ --insert into #mytemp
+ select cc.contentid,xsteps.value('@FloatingFoldout','int') oldfoldoutid,(select newitemid
+ from @children
+ where itemid = xsteps.value('@FloatingFoldout','int')) newfoldoutid,xconfig
+ into #mytemp
+ from (select *,cast(config as xml) xconfig from contents where contentid in (select newcontentid from @children)) cc
+ cross apply xconfig.nodes('Config/Step') tsteps(xsteps)
+ --build @cmd string
+ declare @cmd nvarchar(max)
+ declare cmds cursor for
+ select distinct 'update #mytemp set xconfig.modify(''replace value of (Config/Step/@FloatingFoldout)[1] with "'
+ + cast(newfoldoutid as varchar(10))
+ + '"'') where xconfig.value(''(Config/Step/@FloatingFoldout)[1]'',''int'') = '
+ + cast(oldfoldoutid as varchar(10))
+ from #mytemp
+ --execute cursor over rows
+ open cmds
+ fetch next from cmds into @cmd
+ while @@fetch_status = 0
+ begin
+ exec sp_executesql @cmd
+ fetch next from cmds into @cmd
+ end
+ close cmds
+ deallocate cmds
+ --actually update contents
+ update cc set config = cast(xconfig as varchar(max)) from contents cc join #mytemp mt on cc.contentid = mt.contentid
+ --get rid of #mytemp
+ drop table #mytemp
+end
+--end foldouts fixing code
+--section start
+DECLARE @NewContentID int
+Select @NewContentID = NewContentID from @Children where ItemID = @StartItemID
+DECLARE @Config varchar(max)
+DECLARE @XConfig xml
+select @Config = config from contents where contentid = @NewContentID
+select @XConfig = cast(@Config as xml)
+if @Config like '%SectionStart%' begin
+ DECLARE @SectionStart int
+ select @SectionStart = xproc.value('@SectionStart','int') from @xconfig.nodes('Config/Procedure') tproc(xproc)
+ DECLARE @NewSectionStart int
+ select @NewSectionStart = newitemid from @children where itemid = @SectionStart
+ DECLARE @cmd2 nvarchar(max)
+ set @cmd2 = '
+ declare @XConfig xml;
+ set @XConfig = cast(''' + @Config + ''' as xml);
+ set @XConfig.modify(''replace value of (Config/Procedure/@SectionStart)[1] with "' + cast(@NewSectionStart as nvarchar(10)) + '"'');
+ update contents set config = cast(@XConfig as varchar(max)) where contentid = ' + cast(@NewContentID as nvarchar(10)) + ';'
+ exec sp_executesql @cmd2
+end
+--end section start
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+Go
+
+/*
+==========================================================================================================
+ End: C2024-004: KL - Update Copy Replace functionality, (remove ''copy of'')
+==========================================================================================================
+*/
+
+/*
+==========================================================================================================
+ Begin: C2024-005: PRL - SPs to support Admin tool to clean Annotations
+==========================================================================================================
+*/
+
+/****** Object: StoredProcedure [dbo].[deleteAnnotationsDocvByType] Script Date: 7/11/2024 2:39:59 PM ******/
+
+IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'deleteAnnotationsDocvByType')
+DROP PROCEDURE [dbo].[deleteAnnotationsDocvByType]
+GO
+
+/****** Object: StoredProcedure [dbo].[deleteAnnotationsDocvByType] Script Date: 7/11/2024 2:39:59 PM ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Paul Larsen
+ Modified Date: 07/11/2024
+ Description: Delete Annotations in DocVersions by Annotation Type
+ ==========================================================================================================
+ */
+
+CREATE procedure [dbo].[deleteAnnotationsDocvByType]
+(
+ @docvList varchar(MAX),
+ @typeid int
+)
+AS
+
+ DECLARE @docvs TABLE
+ (
+ RowID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
+ DocvVersionID int
+ )
+
+ DECLARE @Annotationitems table
+ (
+ RowID int NOT NULL IDENTITY(1,1),
+ AllItemIDs int
+ )
+
+ INSERT INTO @docvs (DocvVersionID) (select id from vefn_SplitInt(@docvList, ','))
+
+ DECLARE @cnt int = 0
+ DECLARE @cnt2 int
+ DECLARE @itemid int
+ DECLARE @i INT
+ SET @i = (SELECT MIN(RowID) FROM @docvs);
+ DECLARE @max INT;
+ SET @max = (SELECT MAX(RowID) FROM @docvs);
+
+ -- add all itemids relateted to requested Annotation cleaning.
+ while (@i <= @max)
+ BEGIN
+ SELECT @itemid = DocvVersionID from @docvs where RowID = @i
+ INSERT INTO @Annotationitems (AllItemIDs)
+ (SELECT cir.itemid FROM [vefn_GetVersionItems](@docvList) cir JOIN Annotations an on an.itemid = cir.itemid where an.typeid = @typeid)
+ --vefn_ChildItemsRange(@itemid,@itemid,null) cir JOIN Annotations an on an.itemid = cir.itemid where an.typeid = @typeid)
+ SET @i = @i + 1;
+ END
+
+ SELECT @i = MIN(RowID) FROM @docvs;
+ SELECT @max = MAX(RowID) FROM @docvs;
+
+ -- Delete Annotations
+ DELETE FROM Ann
+ FROM tblAnnotations Ann INNER JOIN @Annotationitems AI ON Ann.itemid = AI.AllItemIDs WHERE TypeID = @typeid
+
+GO
+
+IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'deleteAnnotationsProcByType')
+DROP PROCEDURE [dbo].[deleteAnnotationsProcByType]
+GO
+
+/****** Object: StoredProcedure [dbo].[deleteAnnotationsProcByType] Script Date: 7/11/2024 2:46:05 PM ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Paul Larsen
+ Modified Date: 07/11/2024
+ Description: Delete Annotations in Procedures by Annotation Type
+ ==========================================================================================================
+ */
+
+CREATE procedure [dbo].[deleteAnnotationsProcByType]
+(
+ @procList varchar(MAX),
+ @typeid int
+)
+AS
+
+ DECLARE @procs TABLE
+ (
+ RowID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
+ ProcItemIDs int
+ )
+
+ DECLARE @Annotationitems table
+ (
+ RowID int NOT NULL IDENTITY(1,1),
+ AllItemIDs int
+ )
+
+ DECLARE @cnt int = 0
+ DECLARE @cnt2 int
+ DECLARE @itemid int
+
+ INSERT INTO @procs (ProcItemIDs) (select id from vefn_SplitInt(@procList, ','))
+
+ DECLARE @i INT
+ SET @i = (SELECT MIN(RowID) FROM @procs);
+ DECLARE @max INT;
+ SET @max = (SELECT MAX(RowID) FROM @procs);
+
+ -- add all itemids relateted to requested Annotation cleaning.
+ while (@i <= @max)
+ BEGIN
+ SELECT @itemid = ProcItemIDs from @procs where RowID = @i
+ INSERT INTO @Annotationitems (AllItemIDs)
+ (SELECT cir.itemid FROM vefn_ChildItemsRange(@itemid,@itemid,null) cir JOIN Annotations an on an.itemid = cir.itemid where an.typeid = @typeid)
+ SET @i = @i + 1;
+ END
+
+ SELECT @i = MIN(RowID) FROM @procs;
+ SELECT @max = MAX(RowID) FROM @procs;
+
+ -- Delete Annotations
+ DELETE FROM Ann
+ FROM tblAnnotations Ann INNER JOIN @Annotationitems AI ON Ann.itemid = AI.AllItemIDs WHERE TypeID = @typeid
+GO
+
+IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'getAnnotationDocvCount')
+DROP PROCEDURE [dbo].[getAnnotationDocvCount]
+GO
+
+/****** Object: StoredProcedure [dbo].[getAnnotationDocvCount] Script Date: 7/11/2024 2:48:35 PM ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Paul Larsen
+ Modified Date: 07/11/2024
+ Description: Retrieve the number of Annotations that will be deleted (DocVersions)
+ ==========================================================================================================
+ */
+
+CREATE procedure [dbo].[getAnnotationDocvCount]
+(
+ @docvList varchar(MAX),
+ @typeid int
+)
+AS
+
+DECLARE @docvs TABLE
+(
+ RowID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
+ itemid int
+)
+
+--INSERT INTO @procs from STRING_SPLIT(@procList, ',')
+
+INSERT INTO @docvs (itemid) (select id from vefn_SplitInt(@docvList, ','))
+
+ DECLARE @cnt int = 0
+
+ SELECT @cnt = count(cir.itemid) FROM [vefn_GetVersionItems](@docvList) cir JOIN Annotations an on an.itemid = cir.itemid where an.typeid = @typeid
+
+ SELECT @cnt AS 'COUNT'
+
+GO
+
+
+/****** Object: StoredProcedure [dbo].[getAnnotationProcCount] Script Date: 7/11/2024 3:02:05 PM ******/
+
+
+IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'getAnnotationProcCount')
+DROP PROCEDURE [dbo].[getAnnotationProcCount]
+GO
+
+
+/****** Object: StoredProcedure [dbo].[getAnnotationProcCount] Script Date: 7/11/2024 3:02:05 PM ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ /*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2024 - Volian Enterprises, Inc. All rights reserved.
+ *****************************************************************************/
+ /*
+ ==========================================================================================================
+ Author: Paul Larsen
+ Modified Date: 07/11/2024
+ Description: Retrieve the number of Annotations that will be deleted (Procedures)
+ ==========================================================================================================
+ */
+
+CREATE procedure [dbo].[getAnnotationProcCount]
+(
+ @procList varchar(MAX),
+ @typeid int
+)
+AS
+
+DECLARE @procs TABLE
+(
+ RowID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
+ itemid int
+)
+
+INSERT INTO @procs (itemid) (select id from vefn_SplitInt(@procList, ','))
+
+ DECLARE @cnt int = 0
+ DECLARE @cnt2 int
+ DECLARE @itemid int
+ DECLARE @i INT
+ SELECT @i = MIN(RowID) FROM @procs;
+ DECLARE @max INT;
+ SELECT @max = MAX(RowID) FROM @procs;
+
+ while (@i <= @max)
+ BEGIN
+ SELECT @itemid = itemid from @procs where RowID = @i
+ SELECT @cnt = @cnt + (SELECT count(cir.itemid) FROM vefn_ChildItemsRange(@itemid,@itemid,null) cir JOIN Annotations an on an.itemid = cir.itemid where an.typeid = @typeid)
+ SET @i = @i + 1;
+ END
+
+ SELECT @cnt AS 'count'
+
+GO
+
+
+/*
+==========================================================================================================
+ End: C2024-005: PRL - SPs to support Admin tool to clean Annotations
+==========================================================================================================
+*/
+
+
+
+/*
+==========================================================================================================
+ Start: C2021-059: SQL to delete folders using admin tool
+==========================================================================================================
+*/
+
+IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'deleteFolderAdmin')
+DROP PROCEDURE [dbo].[deleteFolderAdmin]
+GO
+
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[deleteFolderAdmin]
+
+(
+ @FolderID int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ DELETE From Assignments WHERE [FolderID]=@FolderID
+ DELETE From Associations where VersionID in (select versionid from DocVersions where folderid = @FolderID)
+ DELETE From DocVersions where VersionID in (select versionid from DocVersions where folderid= @FolderID)
+ DELETE From DocVersions where [FolderID]=@FolderID
+
+ -- Delete from items where ItemID matches
+ DELETE FROM tblitems
+ WHERE ItemID IN (
+ SELECT DISTINCT ItemID
+ FROM docversions
+ WHERE folderID = @folderID
+ );
+
+
+ -- Delete from items where ItemID matches
+ DELETE FROM tblitems
+ WHERE ItemID IN (
+ SELECT DISTINCT ItemID
+ FROM docversions
+ WHERE folderID = @folderID
+ );
+
+ -- Delete from tblContents where ContentID matches
+ DELETE FROM tblContents
+ WHERE ContentID IN (
+ SELECT DISTINCT c.ContentID
+ FROM tblContents c
+ JOIN items i ON c.ContentID = i.ItemID
+ WHERE i.ItemID IN (
+ SELECT DISTINCT ItemID
+ FROM docversions
+ WHERE folderID = @folderID
+ )
+ );
+
+ DELETE From Folders WHERE [ParentID] = @FolderID
+ DELETE From Folders WHERE [FolderID] = @FolderID
+
+
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+
+GO
+/*
+==========================================================================================================
+ End: C2021-059: SQL to delete folders using admin tool
+==========================================================================================================
+*/
+
/*
---------------------------------------------------------------------------
| ADD New Code Before this Block |
@@ -22260,8 +23636,8 @@ BEGIN TRY -- Try Block
DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255)
- set @RevDate = '03/27/2024 11:00 AM'
- set @RevDescription = 'B2024-018: Enhanced link issue with sub-sections in source but not in enhanced'
+ set @RevDate = '07/29/2024 11:24'
+ set @RevDescription = 'C2021-059 Add SQL for Admin tool delete folders.'
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
@@ -22279,6 +23655,3 @@ ELSE PRINT 'StoredProcedure [vesp_GetSQLCodeRevision] Error on Creation'
go
Exec vesp_GetSQLCodeRevision;
-
-
-
diff --git a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj
index 64d6b612..1a410a53 100644
--- a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj
+++ b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj
@@ -99,7 +99,10 @@
false
+
+
+
..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll
@@ -220,6 +223,12 @@
dlgUCFDetail.cs
+
+ Form
+
+
+ frmAnnotationsCleanup.cs
+
Form
@@ -331,6 +340,9 @@
dlgUCFDetail.cs
+
+ frmAnnotationsCleanup.cs
+
frmPDFStatusForm.cs
Designer
@@ -614,4 +626,4 @@
cmd /c "$(ProjectDir)FixRev.bat"
-
\ No newline at end of file
+
diff --git a/PROMS/VEPROMS User Interface/dlgExportImport.cs b/PROMS/VEPROMS User Interface/dlgExportImport.cs
index 66cd2489..955b5c78 100644
--- a/PROMS/VEPROMS User Interface/dlgExportImport.cs
+++ b/PROMS/VEPROMS User Interface/dlgExportImport.cs
@@ -99,6 +99,10 @@ namespace VEPROMS
MyProcedure = procedureInfo;
InitializeComponent();
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber;
+
+ //Preset path for single procedures.
+ PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database;
+ txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
}
private void dlgExportImport_Load(object sender, EventArgs e)
{
@@ -172,6 +176,7 @@ namespace VEPROMS
}
else if (MyProcedure != null)
{
+ txtExport.Enabled = true;
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
}
}
@@ -190,6 +195,8 @@ namespace VEPROMS
private bool successfullExport = true;
private void btnDoExport_Click(object sender, EventArgs e)
{
+
+
btnExport.Enabled = false;
string msg = "Finished Exporting:\n\n";
if (_MyMode.ToUpper().Contains("FORMAT"))
@@ -220,6 +227,42 @@ namespace VEPROMS
}
else if (MyProcedure != null)
{
+ var fileLocation = txtExport.Text;
+ if (File.Exists(fileLocation))
+ { // C2022-029 if an existing export of the same name is found, provide option to overwrite it
+ DialogResult ovewriteEx = FlexibleMessageBox.ShowCustom(null, "There is already another export file with the same name. You can choose to either overwrite the existing file or have the existing file renamed with the original creation date appended.\r\n\r\nSelecting 'Cancel' will cancel the export.", "What would you like to do?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
+
+ // Extract directory, filename, and extension
+ string directory = Path.GetDirectoryName(fileLocation);
+ string filename = Path.GetFileNameWithoutExtension(fileLocation);
+ string extension = Path.GetExtension(fileLocation);
+ fileLocation = $"{directory}\\{filename}{extension}";
+
+ if (ovewriteEx == DialogResult.Abort)
+ {
+ MessageBox.Show("Export has been cancelled", "You have chosen to cancel the export.", MessageBoxButtons.OK, MessageBoxIcon.Information); // C2020-042 changed mesage box title
+ btnCloseExport.Enabled = true;
+ return;
+ }
+ else if (ovewriteEx == DialogResult.Retry)
+ {
+ //Overwrite will occur, set msg.
+ msg = "The export file has been overwritten. ";
+ }
+ else if (ovewriteEx == DialogResult.Ignore)
+ {
+ // Get the modified date of the existing file, create a datestamp for use in name, set newlocation to move to
+ DateTime modifiedDate = File.GetLastWriteTime(fileLocation);
+ string datestamp = modifiedDate.ToString("yyyyMMddHHmmss");
+ string newFileLocation = $"{directory}\\{filename}_{datestamp}{extension}";
+
+ //Move and set msg.
+ File.Move(fileLocation, newFileLocation);
+ msg = "The previous export has been renamed, the export file has been created. ";
+ }
+
+ }
+
this.Cursor = Cursors.WaitCursor;
MyStart = DateTime.Now;
btnDoExport.Enabled = false;
@@ -230,7 +273,7 @@ namespace VEPROMS
XmlElement xe = xd.CreateElement("formats");
xd.DocumentElement.AppendChild(xe);
ExportFormats(FormatInfoList.GetFormatInfoListUsed(), xe, "formats", false);
- xd.Save(txtExport.Text);
+ xd.Save(fileLocation);
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
this.Cursor = Cursors.Default;
@@ -706,7 +749,7 @@ namespace VEPROMS
}
catch (Exception ex)
{
- FlexibleMessageBox.Show("The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ FlexibleMessageBox.Show(null, "The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
_MyLog.Warn("Failure During Import", ex);
}
return false;
diff --git a/PROMS/VEPROMS User Interface/dlgExportImport.designer.cs b/PROMS/VEPROMS User Interface/dlgExportImport.designer.cs
index cb3f8404..4e6f1ec4 100644
--- a/PROMS/VEPROMS User Interface/dlgExportImport.designer.cs
+++ b/PROMS/VEPROMS User Interface/dlgExportImport.designer.cs
@@ -400,6 +400,7 @@ namespace VEPROMS
this.pnlImport.PerformLayout();
this.ResumeLayout(false);
+
}
#endregion
diff --git a/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.Designer.cs b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.Designer.cs
new file mode 100644
index 00000000..6347a126
--- /dev/null
+++ b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.Designer.cs
@@ -0,0 +1,132 @@
+
+using VEPROMS.CSLA.Library;
+using Volian.Base.Library;
+namespace VEPROMS
+{
+ partial class frmAnnotationsCleanup
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.lbAnnotationTypes = new System.Windows.Forms.ListBox();
+ this.itemAnnotationsBindingSource = new System.Windows.Forms.BindingSource(this.components);
+ this.lblAnnotationsList = new System.Windows.Forms.Label();
+ this.btnClean = new System.Windows.Forms.Button();
+ this.lblCountNumber = new System.Windows.Forms.Label();
+ this.lblCount = new System.Windows.Forms.Label();
+ this.btnClose = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).BeginInit();
+ this.SuspendLayout();
+ //
+ // lbAnnotationTypes
+ //
+ this.lbAnnotationTypes.DataSource = this.itemAnnotationsBindingSource;
+ this.lbAnnotationTypes.FormattingEnabled = true;
+ this.lbAnnotationTypes.Location = new System.Drawing.Point(25, 48);
+ this.lbAnnotationTypes.Name = "lbAnnotationTypes";
+ this.lbAnnotationTypes.Size = new System.Drawing.Size(295, 433);
+ this.lbAnnotationTypes.TabIndex = 0;
+ //
+ // lblAnnotationsList
+ //
+ this.lblAnnotationsList.AutoSize = true;
+ this.lblAnnotationsList.Location = new System.Drawing.Point(26, 21);
+ this.lblAnnotationsList.Name = "lblAnnotationsList";
+ this.lblAnnotationsList.Size = new System.Drawing.Size(175, 13);
+ this.lblAnnotationsList.TabIndex = 1;
+ this.lblAnnotationsList.Text = "Select an Annotation Type to Clean";
+ //
+ // btnClean
+ //
+ this.btnClean.Location = new System.Drawing.Point(365, 164);
+ this.btnClean.Name = "btnClean";
+ this.btnClean.Size = new System.Drawing.Size(131, 36);
+ this.btnClean.TabIndex = 2;
+ this.btnClean.Text = "Proceed?";
+ this.btnClean.UseVisualStyleBackColor = true;
+ this.btnClean.Click += new System.EventHandler(this.button1_Click);
+ //
+ // lblCountNumber
+ //
+ this.lblCountNumber.AutoSize = true;
+ this.lblCountNumber.Location = new System.Drawing.Point(395, 100);
+ this.lblCountNumber.Name = "lblCountNumber";
+ this.lblCountNumber.Size = new System.Drawing.Size(69, 13);
+ this.lblCountNumber.TabIndex = 3;
+ this.lblCountNumber.Text = "Delete Count";
+ this.lblCountNumber.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // lblCount
+ //
+ this.lblCount.AutoSize = true;
+ this.lblCount.Location = new System.Drawing.Point(331, 70);
+ this.lblCount.Name = "lblCount";
+ this.lblCount.Size = new System.Drawing.Size(206, 13);
+ this.lblCount.TabIndex = 4;
+ this.lblCount.Text = "Number of Annotations that will be deleted";
+ //
+ // btnClose
+ //
+ this.btnClose.Location = new System.Drawing.Point(397, 457);
+ this.btnClose.Name = "btnClose";
+ this.btnClose.Size = new System.Drawing.Size(75, 23);
+ this.btnClose.TabIndex = 5;
+ this.btnClose.Text = "Close";
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // frmAnnotationsCleanup
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(549, 535);
+ this.Controls.Add(this.btnClose);
+ this.Controls.Add(this.lblCount);
+ this.Controls.Add(this.lblCountNumber);
+ this.Controls.Add(this.btnClean);
+ this.Controls.Add(this.lblAnnotationsList);
+ this.Controls.Add(this.lbAnnotationTypes);
+ this.Name = "frmAnnotationsCleanup";
+ this.Text = "Clean Annotations";
+ ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ListBox lbAnnotationTypes;
+ private System.Windows.Forms.Label lblAnnotationsList;
+ private System.Windows.Forms.BindingSource itemAnnotationsBindingSource;
+ private System.Windows.Forms.Button btnClean;
+ private System.Windows.Forms.Label lblCountNumber;
+ private System.Windows.Forms.Label lblCount;
+ private System.Windows.Forms.Button btnClose;
+ }
+}
+
diff --git a/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.cs b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.cs
new file mode 100644
index 00000000..ca3f70f8
--- /dev/null
+++ b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.cs
@@ -0,0 +1,190 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using VEPROMS.CSLA.Library;
+using Volian.Base.Library;
+//using Volian.Pipe.Library;
+using System.Xml;
+using System.Diagnostics;
+using JR.Utils.GUI.Forms;
+
+namespace VEPROMS
+{
+ public partial class frmAnnotationsCleanup : Form
+ {
+ Label mylab = new Label();
+ string procList = "";
+ string docvList = "";
+ int AnnotationTyp;
+ string AnnotationName = "";
+ string totalDeleteCnt = "";
+ List pil2 = new List();
+ List dvil2 = new List();
+ private frmBatchRefresh mainForm = null;
+ // frmAnnotationsCleanup constructor passes users procedure and docversion selections from frmBatchRefresh
+ public frmAnnotationsCleanup(Form callingForm, List pil, List dvil)
+
+ { // Set up link back to parent form.
+ mainForm = callingForm as frmBatchRefresh;
+ InitializeComponent();
+
+ pil2 = pil;
+ dvil2 = dvil;
+
+ // Get list of annotation types for plant.
+ myAnnotationTypeInfoList = AnnotationTypeInfoList.Get();
+ lbAnnotationTypes.DataSource = myLocalAnnotationTypeInfoList = new LocalAnnotationTypeInfoList(myAnnotationTypeInfoList);
+
+ Dictionary AnnotationsList = new Dictionary();
+
+ // Add name and type ID to form.
+ foreach (LocalAnnotationTypeInfo lati in myLocalAnnotationTypeInfoList)
+ {
+ AnnotationsList.Add(lati.TypeID.ToString(), lati.Name);
+ //cbAnnotationTypes.Items.Add(new { Name = lati.Name, Value = lati.TypeID });
+ }
+
+ lbAnnotationTypes.DataSource = new BindingSource(AnnotationsList, null);
+ lbAnnotationTypes.DisplayMember = "Value";
+ lbAnnotationTypes.ValueMember = "Key";
+ lbAnnotationTypes.SelectedIndexChanged += lbAnnotationTypes_SelectedIndexChanged;
+ lbAnnotationTypes.ClearSelected();
+
+ }
+ // create comma delimited string of procedures selected by user.
+ private string getAnnotationProcItems(List pil2)
+ {
+ procList = "";
+ foreach (var p in pil2)
+ {
+ if (p.IsProcedure)
+ {
+ if (procList == "")
+ {
+ procList = procList + p.ItemID.ToString();
+ }
+ else
+ {
+ procList = procList + "," + p.ItemID.ToString();
+ }
+ }
+ }
+ return procList;
+ }
+
+ // create comma delimited string of doc versions selected by user.
+ private string getAnnotationDocvItems(List dvil2)
+ {
+ docvList = "";
+ foreach (var d in dvil2)
+ {
+ if (d.IsDocVersion)
+ {
+ if (docvList == "")
+ {
+ docvList = docvList + d.VersionID.ToString();
+ }
+ else
+ {
+ docvList = docvList + "," + d.VersionID.ToString();
+ }
+ }
+ }
+ return docvList;
+ }
+
+ private AnnotationTypeInfoList myAnnotationTypeInfoList = null;
+ private LocalAnnotationTypeInfoList myLocalAnnotationTypeInfoList = null;
+
+ // Process used to cleanup annotations "(Proceed?" button)
+ private void button1_Click(object sender, EventArgs e)
+ {
+ if (lbAnnotationTypes.SelectedIndex > -1)
+ {
+
+ TextBox frm2 = mainForm.GettxtProcess();
+ TextBox frm3 = mainForm.GettxtResults();
+ AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ AnnotationName = System.Convert.ToString(((KeyValuePair)lbAnnotationTypes.SelectedItem).Value);
+ frm3.AppendText("Deleting Annotations: Annotation Type: " + '"' + AnnotationName + '"');
+ frm3.AppendText(Environment.NewLine + "P = Procedure, F = Folder" + Environment.NewLine);
+ int deletecountProc = 0;
+ int deletecountDocv = 0;
+ foreach (var p in pil2)
+ {
+ if (p.IsProcedure)
+ {
+ //AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ //AnnotationName = System.Convert.ToString(((KeyValuePair)lbAnnotationTypes.SelectedItem).Value);
+ //deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, getAnnotationProcItems(p));
+ deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, p.ItemID.ToString());
+ frm2.AppendText(Environment.NewLine + p.DisplayNumber + ' ' + p.DisplayText);
+ //frm3.AppendText(Environment.NewLine + "P: " + p.DisplayNumber + '"' + p.DisplayText + '"' + " Type: " + '"' + AnnotationName + '"' + " count: " + deletecountProc);
+ frm3.AppendText(Environment.NewLine + "P: " + p.DisplayNumber + '"' + p.DisplayText + '"' + " Delete count: " + deletecountProc);
+ Annotation.DeleteAnnotationProcByType(AnnotationTyp, p.ItemID.ToString());
+ lblCountNumber.Text = "0";
+ }
+
+ }
+ foreach (var d in dvil2)
+ {
+ if (d.IsDocVersion)
+ {
+ //AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ //AnnotationName = System.Convert.ToString(((KeyValuePair)lbAnnotationTypes.SelectedItem).Value);
+ deletecountDocv = Annotation.getAnnotationCountDocv(AnnotationTyp, d.VersionID.ToString());
+ frm2.AppendText(Environment.NewLine + d.ActiveParent.ToString());
+ frm3.AppendText(Environment.NewLine + "F: " + '"' + d.ActiveParent.ToString() + '"' + " Delete count: " + deletecountDocv);
+ AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ Annotation.DeleteAnnotationDocvByType(AnnotationTyp, d.VersionID.ToString());
+
+ lblCountNumber.Text = "0";
+ }
+ }
+ frm3.AppendText(Environment.NewLine + Environment.NewLine + "Total Annotations Deleted: " + totalDeleteCnt + Environment.NewLine + Environment.NewLine);
+ }
+
+ }
+
+ // Retrieve number of annotations that will be deleted.
+ private void lbAnnotationTypes_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (lbAnnotationTypes.SelectedIndex > -1)
+ {
+ btnClean.Enabled = false;
+ lblCountNumber.Text = "";
+ int deletecountProc = 0;
+ int deletecountDocv = 0;
+ if (pil2.Count > 0)
+ {
+ AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, getAnnotationProcItems(pil2));
+ }
+
+ if (dvil2.Count > 0)
+ {
+ AnnotationTyp = System.Convert.ToInt32(((KeyValuePair)lbAnnotationTypes.SelectedItem).Key);
+ deletecountDocv = Annotation.getAnnotationCountDocv(AnnotationTyp, getAnnotationDocvItems(dvil2));
+ }
+ lblCountNumber.Text = (deletecountProc + deletecountDocv).ToString();
+ totalDeleteCnt = (deletecountProc + deletecountDocv).ToString();
+ btnClean.Enabled = true;
+ }
+
+ }
+ // Close form.
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ }
+}
+
+
diff --git a/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.resx b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.resx
new file mode 100644
index 00000000..e0ab540c
--- /dev/null
+++ b/PROMS/VEPROMS User Interface/frmAnnotationsCleanup.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs
index a917d5b3..d1d4a7e4 100644
--- a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs
+++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs
@@ -52,6 +52,35 @@
this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
+ this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
+ this.swDeleteFolder = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX13 = new DevComponents.DotNetBar.LabelX();
+ this.swDeleteAnnotations = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX14 = new DevComponents.DotNetBar.LabelX();
+ this.myTVdel = new System.Windows.Forms.TreeView();
+ this.btnDeleteItems = new DevComponents.DotNetBar.ButtonX();
+ this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
+ this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX12 = new DevComponents.DotNetBar.LabelX();
+ this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
+ this.line3 = new DevComponents.DotNetBar.Controls.Line();
+ this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX11 = new DevComponents.DotNetBar.LabelX();
+ this.labelX6 = new DevComponents.DotNetBar.LabelX();
+ this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
+ this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
+ this.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel();
+ this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
+ this.labelX7 = new DevComponents.DotNetBar.LabelX();
+ this.line1 = new DevComponents.DotNetBar.Controls.Line();
+ this.swCkObsoleteROData = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.swHiddenDataLocs = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX3 = new DevComponents.DotNetBar.LabelX();
+ this.labelX2 = new DevComponents.DotNetBar.LabelX();
+ this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
+ this.labelX1 = new DevComponents.DotNetBar.LabelX();
+ this.btnRunCheck = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton();
this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX();
@@ -68,29 +97,7 @@
this.labelX8 = new DevComponents.DotNetBar.LabelX();
this.line2 = new DevComponents.DotNetBar.Controls.Line();
this.btnRunRepair = new DevComponents.DotNetBar.ButtonX();
- this.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel();
- this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
- this.labelX7 = new DevComponents.DotNetBar.LabelX();
- this.line1 = new DevComponents.DotNetBar.Controls.Line();
- this.swCkObsoleteROData = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.swHiddenDataLocs = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.labelX3 = new DevComponents.DotNetBar.LabelX();
- this.labelX2 = new DevComponents.DotNetBar.LabelX();
- this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.labelX1 = new DevComponents.DotNetBar.LabelX();
- this.btnRunCheck = new DevComponents.DotNetBar.ButtonX();
- this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
- this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.labelX12 = new DevComponents.DotNetBar.LabelX();
- this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
- this.line3 = new DevComponents.DotNetBar.Controls.Line();
- this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
- this.labelX11 = new DevComponents.DotNetBar.LabelX();
- this.labelX6 = new DevComponents.DotNetBar.LabelX();
- this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
- this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
- this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
+ this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX();
this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem();
this.separator1 = new DevComponents.DotNetBar.Separator();
@@ -98,6 +105,7 @@
this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem();
+ this.sideNavItmDelete = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem();
this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps();
@@ -106,6 +114,7 @@
this.stepItem3 = new DevComponents.DotNetBar.StepItem();
this.stepItem4 = new DevComponents.DotNetBar.StepItem();
this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX();
+ this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem();
this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
this.splitContainer3.Panel1.SuspendLayout();
@@ -118,22 +127,22 @@
this.pnlLater.SuspendLayout();
this.panelEx1.SuspendLayout();
this.sideNav1.SuspendLayout();
- this.sideNavPanel2.SuspendLayout();
- this.sideNavPanel1.SuspendLayout();
- this.sideNavPanel3.SuspendLayout();
this.sideNavPanel4.SuspendLayout();
+ this.sideNavPanel3.SuspendLayout();
+ this.sideNavPanel1.SuspendLayout();
+ this.sideNavPanel2.SuspendLayout();
+ this.sideNavPanel5.SuspendLayout();
this.panelEx4.SuspendLayout();
this.SuspendLayout();
//
// myTV
//
- this.myTV.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
this.myTV.CheckBoxes = true;
- this.myTV.Location = new System.Drawing.Point(0, 230);
+ this.myTV.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.myTV.Location = new System.Drawing.Point(0, 285);
+ this.myTV.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.myTV.Name = "myTV";
- this.myTV.Size = new System.Drawing.Size(300, 264);
+ this.myTV.Size = new System.Drawing.Size(436, 475);
this.myTV.TabIndex = 4;
this.myTV.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
//
@@ -141,6 +150,7 @@
//
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer3.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.splitContainer3.Name = "splitContainer3";
this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
@@ -156,8 +166,9 @@
//
this.splitContainer3.Panel2.BackColor = System.Drawing.SystemColors.Control;
this.splitContainer3.Panel2.Controls.Add(this.panelEx4);
- this.splitContainer3.Size = new System.Drawing.Size(1177, 586);
- this.splitContainer3.SplitterDistance = 526;
+ this.splitContainer3.Size = new System.Drawing.Size(1766, 902);
+ this.splitContainer3.SplitterDistance = 809;
+ this.splitContainer3.SplitterWidth = 6;
this.splitContainer3.TabIndex = 2;
//
// panelEx3
@@ -169,9 +180,10 @@
this.panelEx3.Controls.Add(this.label3);
this.panelEx3.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panelEx3.Location = new System.Drawing.Point(688, 0);
+ this.panelEx3.Location = new System.Drawing.Point(1032, 0);
+ this.panelEx3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panelEx3.Name = "panelEx3";
- this.panelEx3.Size = new System.Drawing.Size(489, 526);
+ this.panelEx3.Size = new System.Drawing.Size(734, 809);
this.panelEx3.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx3.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx3.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@@ -186,11 +198,12 @@
//
this.txtResults.Dock = System.Windows.Forms.DockStyle.Fill;
this.txtResults.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtResults.Location = new System.Drawing.Point(0, 52);
+ this.txtResults.Location = new System.Drawing.Point(0, 79);
+ this.txtResults.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.txtResults.Multiline = true;
this.txtResults.Name = "txtResults";
this.txtResults.ScrollBars = System.Windows.Forms.ScrollBars.Both;
- this.txtResults.Size = new System.Drawing.Size(489, 474);
+ this.txtResults.Size = new System.Drawing.Size(734, 730);
this.txtResults.TabIndex = 4;
//
// panel1
@@ -198,17 +211,19 @@
this.panel1.Controls.Add(this.btnSave);
this.panel1.Controls.Add(this.btnClear);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel1.Location = new System.Drawing.Point(0, 23);
+ this.panel1.Location = new System.Drawing.Point(0, 34);
+ this.panel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(489, 29);
+ this.panel1.Size = new System.Drawing.Size(734, 45);
this.panel1.TabIndex = 3;
//
// btnSave
//
this.btnSave.Dock = System.Windows.Forms.DockStyle.Left;
- this.btnSave.Location = new System.Drawing.Point(95, 0);
+ this.btnSave.Location = new System.Drawing.Point(142, 0);
+ this.btnSave.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btnSave.Name = "btnSave";
- this.btnSave.Size = new System.Drawing.Size(95, 29);
+ this.btnSave.Size = new System.Drawing.Size(142, 45);
this.btnSave.TabIndex = 3;
this.btnSave.Text = "Save Results";
this.btnSave.UseVisualStyleBackColor = true;
@@ -218,8 +233,9 @@
//
this.btnClear.Dock = System.Windows.Forms.DockStyle.Left;
this.btnClear.Location = new System.Drawing.Point(0, 0);
+ this.btnClear.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btnClear.Name = "btnClear";
- this.btnClear.Size = new System.Drawing.Size(95, 29);
+ this.btnClear.Size = new System.Drawing.Size(142, 45);
this.btnClear.TabIndex = 2;
this.btnClear.Text = "Clear Results";
this.btnClear.UseVisualStyleBackColor = true;
@@ -231,8 +247,9 @@
this.label3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label3.Dock = System.Windows.Forms.DockStyle.Top;
this.label3.Location = new System.Drawing.Point(0, 0);
+ this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(489, 23);
+ this.label3.Size = new System.Drawing.Size(734, 34);
this.label3.TabIndex = 2;
this.label3.Text = "Results";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -262,9 +279,10 @@
this.expandableSplitter2.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.expandableSplitter2.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
this.expandableSplitter2.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
- this.expandableSplitter2.Location = new System.Drawing.Point(682, 0);
+ this.expandableSplitter2.Location = new System.Drawing.Point(1023, 0);
+ this.expandableSplitter2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.expandableSplitter2.Name = "expandableSplitter2";
- this.expandableSplitter2.Size = new System.Drawing.Size(6, 526);
+ this.expandableSplitter2.Size = new System.Drawing.Size(9, 809);
this.expandableSplitter2.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter2.TabIndex = 38;
this.expandableSplitter2.TabStop = false;
@@ -280,9 +298,10 @@
this.panelEx2.Controls.Add(this.label4);
this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx2.Dock = System.Windows.Forms.DockStyle.Left;
- this.panelEx2.Location = new System.Drawing.Point(391, 0);
+ this.panelEx2.Location = new System.Drawing.Point(587, 0);
+ this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panelEx2.Name = "panelEx2";
- this.panelEx2.Size = new System.Drawing.Size(291, 526);
+ this.panelEx2.Size = new System.Drawing.Size(436, 809);
this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx2.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx2.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@@ -298,19 +317,21 @@
this.txtProcess.AcceptsReturn = true;
this.txtProcess.Dock = System.Windows.Forms.DockStyle.Fill;
this.txtProcess.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.txtProcess.Location = new System.Drawing.Point(0, 150);
+ this.txtProcess.Location = new System.Drawing.Point(0, 228);
+ this.txtProcess.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.txtProcess.Multiline = true;
this.txtProcess.Name = "txtProcess";
this.txtProcess.ScrollBars = System.Windows.Forms.ScrollBars.Both;
- this.txtProcess.Size = new System.Drawing.Size(291, 376);
+ this.txtProcess.Size = new System.Drawing.Size(436, 581);
this.txtProcess.TabIndex = 5;
//
// pbProcess
//
this.pbProcess.Dock = System.Windows.Forms.DockStyle.Top;
- this.pbProcess.Location = new System.Drawing.Point(0, 125);
+ this.pbProcess.Location = new System.Drawing.Point(0, 190);
+ this.pbProcess.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.pbProcess.Name = "pbProcess";
- this.pbProcess.Size = new System.Drawing.Size(291, 25);
+ this.pbProcess.Size = new System.Drawing.Size(436, 38);
this.pbProcess.TabIndex = 6;
//
// label6
@@ -318,9 +339,10 @@
this.label6.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label6.Dock = System.Windows.Forms.DockStyle.Top;
- this.label6.Location = new System.Drawing.Point(0, 102);
+ this.label6.Location = new System.Drawing.Point(0, 156);
+ this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(291, 23);
+ this.label6.Size = new System.Drawing.Size(436, 34);
this.label6.TabIndex = 3;
this.label6.Text = "Process Status";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -330,10 +352,11 @@
this.panel3.Controls.Add(this.pnlLater);
this.panel3.Controls.Add(this.chkLater);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel3.Location = new System.Drawing.Point(0, 23);
+ this.panel3.Location = new System.Drawing.Point(0, 34);
+ this.panel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panel3.Name = "panel3";
- this.panel3.Padding = new System.Windows.Forms.Padding(6);
- this.panel3.Size = new System.Drawing.Size(291, 79);
+ this.panel3.Padding = new System.Windows.Forms.Padding(9, 9, 9, 9);
+ this.panel3.Size = new System.Drawing.Size(436, 122);
this.panel3.TabIndex = 2;
//
// pnlLater
@@ -343,18 +366,20 @@
this.pnlLater.Controls.Add(this.dtpDate);
this.pnlLater.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlLater.Enabled = false;
- this.pnlLater.Location = new System.Drawing.Point(6, 23);
+ this.pnlLater.Location = new System.Drawing.Point(9, 33);
+ this.pnlLater.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.pnlLater.Name = "pnlLater";
- this.pnlLater.Padding = new System.Windows.Forms.Padding(6);
- this.pnlLater.Size = new System.Drawing.Size(279, 37);
+ this.pnlLater.Padding = new System.Windows.Forms.Padding(9, 9, 9, 9);
+ this.pnlLater.Size = new System.Drawing.Size(418, 57);
this.pnlLater.TabIndex = 3;
//
// label5
//
this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(105, 15);
+ this.label5.Location = new System.Drawing.Point(158, 23);
+ this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(18, 13);
+ this.label5.Size = new System.Drawing.Size(25, 20);
this.label5.TabIndex = 5;
this.label5.Text = "@";
//
@@ -364,27 +389,30 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.dtpTime.CustomFormat = "HH:mm";
this.dtpTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
- this.dtpTime.Location = new System.Drawing.Point(129, 9);
+ this.dtpTime.Location = new System.Drawing.Point(194, 14);
+ this.dtpTime.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.dtpTime.Name = "dtpTime";
this.dtpTime.ShowUpDown = true;
- this.dtpTime.Size = new System.Drawing.Size(133, 20);
+ this.dtpTime.Size = new System.Drawing.Size(198, 26);
this.dtpTime.TabIndex = 4;
//
// dtpDate
//
this.dtpDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
- this.dtpDate.Location = new System.Drawing.Point(9, 9);
+ this.dtpDate.Location = new System.Drawing.Point(14, 14);
+ this.dtpDate.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.dtpDate.Name = "dtpDate";
- this.dtpDate.Size = new System.Drawing.Size(90, 20);
+ this.dtpDate.Size = new System.Drawing.Size(133, 26);
this.dtpDate.TabIndex = 3;
//
// chkLater
//
this.chkLater.AutoSize = true;
this.chkLater.Dock = System.Windows.Forms.DockStyle.Top;
- this.chkLater.Location = new System.Drawing.Point(6, 6);
+ this.chkLater.Location = new System.Drawing.Point(9, 9);
+ this.chkLater.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.chkLater.Name = "chkLater";
- this.chkLater.Size = new System.Drawing.Size(279, 17);
+ this.chkLater.Size = new System.Drawing.Size(418, 24);
this.chkLater.TabIndex = 4;
this.chkLater.Text = "Process Later";
this.chkLater.UseVisualStyleBackColor = true;
@@ -396,8 +424,9 @@
this.label4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label4.Dock = System.Windows.Forms.DockStyle.Top;
this.label4.Location = new System.Drawing.Point(0, 0);
+ this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(291, 23);
+ this.label4.Size = new System.Drawing.Size(436, 34);
this.label4.TabIndex = 3;
this.label4.Text = "Process";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -427,9 +456,10 @@
this.expandableSplitter1.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.expandableSplitter1.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
this.expandableSplitter1.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
- this.expandableSplitter1.Location = new System.Drawing.Point(385, 0);
+ this.expandableSplitter1.Location = new System.Drawing.Point(578, 0);
+ this.expandableSplitter1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.expandableSplitter1.Name = "expandableSplitter1";
- this.expandableSplitter1.Size = new System.Drawing.Size(6, 526);
+ this.expandableSplitter1.Size = new System.Drawing.Size(9, 809);
this.expandableSplitter1.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter1.TabIndex = 4;
this.expandableSplitter1.TabStop = false;
@@ -442,8 +472,9 @@
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx1.Dock = System.Windows.Forms.DockStyle.Left;
this.panelEx1.Location = new System.Drawing.Point(0, 0);
+ this.panelEx1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panelEx1.Name = "panelEx1";
- this.panelEx1.Size = new System.Drawing.Size(385, 526);
+ this.panelEx1.Size = new System.Drawing.Size(578, 809);
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx1.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx1.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@@ -457,10 +488,11 @@
// sideNav1
//
this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
- this.sideNav1.Controls.Add(this.sideNavPanel1);
- this.sideNav1.Controls.Add(this.sideNavPanel3);
- this.sideNav1.Controls.Add(this.sideNavPanel2);
this.sideNav1.Controls.Add(this.sideNavPanel4);
+ this.sideNav1.Controls.Add(this.sideNavPanel3);
+ this.sideNav1.Controls.Add(this.sideNavPanel1);
+ this.sideNav1.Controls.Add(this.sideNavPanel2);
+ this.sideNav1.Controls.Add(this.sideNavPanel5);
this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNav1.EnableClose = false;
this.sideNav1.EnableMaximize = false;
@@ -471,237 +503,297 @@
this.sideNavItmRepair,
this.sideNavItmLinks,
this.sideNavItmUsers,
+ this.sideNavItmDelete,
this.sideNavItmExit});
this.sideNav1.Location = new System.Drawing.Point(0, 0);
+ this.sideNav1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.sideNav1.Name = "sideNav1";
- this.sideNav1.Padding = new System.Windows.Forms.Padding(1);
- this.sideNav1.Size = new System.Drawing.Size(385, 526);
+ this.sideNav1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.sideNav1.Size = new System.Drawing.Size(578, 809);
this.sideNav1.TabIndex = 3;
this.sideNav1.Text = "sideNav1";
//
- // swRefreshTblsForSrch
+ // sideNavPanel4
+ //
+ this.sideNavPanel4.Controls.Add(this.swDeleteFolder);
+ this.sideNavPanel4.Controls.Add(this.labelX13);
+ this.sideNavPanel4.Controls.Add(this.swDeleteAnnotations);
+ this.sideNavPanel4.Controls.Add(this.labelX14);
+ this.sideNavPanel4.Controls.Add(this.myTVdel);
+ this.sideNavPanel4.Controls.Add(this.btnDeleteItems);
+ this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.sideNavPanel4.Location = new System.Drawing.Point(109, 40);
+ this.sideNavPanel4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.sideNavPanel4.Name = "sideNavPanel4";
+ this.sideNavPanel4.Size = new System.Drawing.Size(461, 767);
+ this.sideNavPanel4.TabIndex = 27;
+ //
+ // swDeleteFolder
//
//
//
//
- this.swRefreshTblsForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRefreshTblsForSrch.Location = new System.Drawing.Point(10, 153);
- this.swRefreshTblsForSrch.Name = "swRefreshTblsForSrch";
- this.swRefreshTblsForSrch.Size = new System.Drawing.Size(91, 22);
- this.swRefreshTblsForSrch.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swRefreshTblsForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshTblsForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
- this.swRefreshTblsForSrch.SwitchClickTogglesValue = true;
- this.swRefreshTblsForSrch.TabIndex = 32;
- this.swRefreshTblsForSrch.Value = true;
- this.swRefreshTblsForSrch.ValueObject = "Y";
- this.swRefreshTblsForSrch.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
+ this.swDeleteFolder.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swDeleteFolder.Location = new System.Drawing.Point(15, 66);
+ this.swDeleteFolder.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swDeleteFolder.Name = "swDeleteFolder";
+ this.swDeleteFolder.Size = new System.Drawing.Size(104, 34);
+ this.swDeleteFolder.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swDeleteFolder, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("swDeleteFolder.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
+ this.swDeleteFolder.SwitchClickTogglesValue = true;
+ this.swDeleteFolder.TabIndex = 39;
+ this.swDeleteFolder.ValueChanged += new System.EventHandler(this.swDeleteFolder_ValueChanged);
//
- // lblRefreshTblForSrch
+ // labelX13
//
- this.lblRefreshTblForSrch.BackColor = System.Drawing.Color.Transparent;
+ this.labelX13.BackColor = System.Drawing.Color.Transparent;
//
//
//
- this.lblRefreshTblForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.lblRefreshTblForSrch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lblRefreshTblForSrch.Location = new System.Drawing.Point(107, 153);
- this.lblRefreshTblForSrch.Name = "lblRefreshTblForSrch";
- this.lblRefreshTblForSrch.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.lblRefreshTblForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("lblRefreshTblForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
- this.lblRefreshTblForSrch.TabIndex = 31;
- this.lblRefreshTblForSrch.Text = "Refresh Tables For Search";
+ this.labelX13.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX13.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX13.Location = new System.Drawing.Point(128, 65);
+ this.labelX13.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX13.Name = "labelX13";
+ this.labelX13.Size = new System.Drawing.Size(252, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX13, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("labelX13.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
+ this.labelX13.TabIndex = 38;
+ this.labelX13.Text = "Delete Folders";
//
- // warningBox4
+ // swDeleteAnnotations
//
- this.warningBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
- this.warningBox4.CloseButtonVisible = false;
- this.warningBox4.Image = ((System.Drawing.Image)(resources.GetObject("warningBox4.Image")));
- this.warningBox4.Location = new System.Drawing.Point(12, 264);
- this.warningBox4.Name = "warningBox4";
- this.warningBox4.OptionsButtonVisible = false;
- this.warningBox4.Size = new System.Drawing.Size(264, 32);
- this.warningBox4.TabIndex = 30;
- this.warningBox4.Text = "NOTE These tools can take a long time to run";
//
- // warningBox2
//
- this.warningBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
- this.warningBox2.CloseButtonVisible = false;
- this.warningBox2.Image = ((System.Drawing.Image)(resources.GetObject("warningBox2.Image")));
- this.warningBox2.Location = new System.Drawing.Point(12, 302);
- this.warningBox2.Name = "warningBox2";
- this.warningBox2.OptionsButtonVisible = false;
- this.warningBox2.Size = new System.Drawing.Size(264, 43);
- this.warningBox2.TabIndex = 28;
- this.warningBox2.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
+ //
+ this.swDeleteAnnotations.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swDeleteAnnotations.Location = new System.Drawing.Point(15, 23);
+ this.swDeleteAnnotations.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swDeleteAnnotations.Name = "swDeleteAnnotations";
+ this.swDeleteAnnotations.Size = new System.Drawing.Size(104, 34);
+ this.swDeleteAnnotations.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swDeleteAnnotations, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("swDeleteAnnotations.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
+ this.swDeleteAnnotations.SwitchClickTogglesValue = true;
+ this.swDeleteAnnotations.TabIndex = 37;
+ this.swDeleteAnnotations.Value = true;
+ this.swDeleteAnnotations.ValueObject = "Y";
+ this.swDeleteAnnotations.ValueChanged += new System.EventHandler(this.swDeleteAnnotations_ValueChanged);
+ //
+ // labelX14
+ //
+ this.labelX14.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX14.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX14.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX14.Location = new System.Drawing.Point(128, 22);
+ this.labelX14.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX14.Name = "labelX14";
+ this.labelX14.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX14, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("labelX14.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
+ this.labelX14.TabIndex = 36;
+ this.labelX14.Text = "Delete Annotations";
+ //
+ // myTVdel
+ //
+ this.myTVdel.CheckBoxes = true;
+ this.myTVdel.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.myTVdel.Location = new System.Drawing.Point(0, 205);
+ this.myTVdel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.myTVdel.Name = "myTVdel";
+ this.myTVdel.Size = new System.Drawing.Size(461, 562);
+ this.myTVdel.TabIndex = 34;
+ this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck_DelAnn);
+ //
+ // btnDeleteItems
+ //
+ this.btnDeleteItems.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
+ this.btnDeleteItems.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnDeleteItems.Checked = true;
+ this.btnDeleteItems.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
+ this.btnDeleteItems.Location = new System.Drawing.Point(58, 151);
+ this.btnDeleteItems.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.btnDeleteItems.Name = "btnDeleteItems";
+ this.btnDeleteItems.Size = new System.Drawing.Size(343, 35);
+ this.btnDeleteItems.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.btnDeleteItems, new DevComponents.DotNetBar.SuperTooltipInfo("Process Deletions", "", resources.GetString("btnDeleteItems.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 175)));
+ this.btnDeleteItems.TabIndex = 35;
+ this.btnDeleteItems.Text = "Process Deletions";
+ this.btnDeleteItems.Click += new System.EventHandler(this.btnDeleteItems_Click);
+ //
+ // sideNavPanel3
+ //
+ this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
+ this.sideNavPanel3.Controls.Add(this.labelX12);
+ this.sideNavPanel3.Controls.Add(this.warningBox5);
+ this.sideNavPanel3.Controls.Add(this.line3);
+ this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
+ this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
+ this.sideNavPanel3.Controls.Add(this.labelX11);
+ this.sideNavPanel3.Controls.Add(this.labelX6);
+ this.sideNavPanel3.Controls.Add(this.warningBox1);
+ this.sideNavPanel3.Controls.Add(this.myTV);
+ this.sideNavPanel3.Controls.Add(this.btnFixLinks);
+ this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.sideNavPanel3.Location = new System.Drawing.Point(134, 48);
+ this.sideNavPanel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.sideNavPanel3.Name = "sideNavPanel3";
+ this.sideNavPanel3.Size = new System.Drawing.Size(436, 760);
+ this.sideNavPanel3.TabIndex = 10;
+ this.sideNavPanel3.Visible = false;
+ //
+ // swCheckROLinks
+ //
+ //
+ //
+ //
+ this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swCheckROLinks.Location = new System.Drawing.Point(15, 102);
+ this.swCheckROLinks.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swCheckROLinks.Name = "swCheckROLinks";
+ this.swCheckROLinks.Size = new System.Drawing.Size(136, 34);
+ this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
+ this.swCheckROLinks.SwitchClickTogglesValue = true;
+ this.swCheckROLinks.TabIndex = 33;
+ this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
+ //
+ // labelX12
+ //
+ this.labelX12.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX12.Location = new System.Drawing.Point(160, 102);
+ this.labelX12.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX12.Name = "labelX12";
+ this.labelX12.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
+ this.labelX12.TabIndex = 32;
+ this.labelX12.Text = "Check RO Links";
+ //
+ // warningBox5
+ //
+ this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
+ this.warningBox5.CloseButtonVisible = false;
+ this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
+ this.warningBox5.Location = new System.Drawing.Point(26, 223);
+ this.warningBox5.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
+ this.warningBox5.Name = "warningBox5";
+ this.warningBox5.OptionsButtonVisible = false;
+ this.warningBox5.Size = new System.Drawing.Size(393, 49);
+ this.warningBox5.TabIndex = 31;
+ this.warningBox5.Text = "NOTE These tools can take a long time to run";
+ //
+ // line3
+ //
+ this.line3.BackColor = System.Drawing.Color.Transparent;
+ this.line3.Location = new System.Drawing.Point(9, 195);
+ this.line3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.line3.Name = "line3";
+ this.line3.Size = new System.Drawing.Size(428, 18);
+ this.line3.TabIndex = 30;
+ this.line3.Text = "line3";
+ //
+ // swUpdateROVals
+ //
+ //
+ //
+ //
+ this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swUpdateROVals.Location = new System.Drawing.Point(15, 15);
+ this.swUpdateROVals.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swUpdateROVals.Name = "swUpdateROVals";
+ this.swUpdateROVals.Size = new System.Drawing.Size(136, 34);
+ this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
+ this.swUpdateROVals.SwitchClickTogglesValue = true;
+ this.swUpdateROVals.TabIndex = 29;
+ this.swUpdateROVals.Value = true;
+ this.swUpdateROVals.ValueObject = "Y";
+ this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
+ //
+ // swRefreshTrans
+ //
+ //
+ //
+ //
+ this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swRefreshTrans.Location = new System.Drawing.Point(15, 58);
+ this.swRefreshTrans.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swRefreshTrans.Name = "swRefreshTrans";
+ this.swRefreshTrans.Size = new System.Drawing.Size(136, 34);
+ this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
+ this.swRefreshTrans.SwitchClickTogglesValue = true;
+ this.swRefreshTrans.TabIndex = 29;
+ this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
+ //
+ // labelX11
+ //
+ this.labelX11.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX11.Location = new System.Drawing.Point(160, 15);
+ this.labelX11.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX11.Name = "labelX11";
+ this.labelX11.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
+ this.labelX11.TabIndex = 28;
+ this.labelX11.Text = "Update RO Values";
+ //
+ // labelX6
+ //
+ this.labelX6.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX6.Location = new System.Drawing.Point(160, 58);
+ this.labelX6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX6.Name = "labelX6";
+ this.labelX6.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
+ this.labelX6.TabIndex = 28;
+ this.labelX6.Text = "Refresh Transitions";
+ //
+ // warningBox1
+ //
+ this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
+ this.warningBox1.CloseButtonVisible = false;
+ this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
+ this.warningBox1.Location = new System.Drawing.Point(26, 278);
+ this.warningBox1.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
+ this.warningBox1.Name = "warningBox1";
+ this.warningBox1.OptionsButtonVisible = false;
+ this.warningBox1.Size = new System.Drawing.Size(393, 66);
+ this.warningBox1.TabIndex = 7;
+ this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
- // swRmObsoleteROData
+ // btnFixLinks
//
- //
- //
- //
- this.swRmObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRmObsoleteROData.Location = new System.Drawing.Point(10, 66);
- this.swRmObsoleteROData.Name = "swRmObsoleteROData";
- this.swRmObsoleteROData.Size = new System.Drawing.Size(91, 22);
- this.swRmObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swRmObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("swRmObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205)));
- this.swRmObsoleteROData.SwitchClickTogglesValue = true;
- this.swRmObsoleteROData.TabIndex = 26;
- this.swRmObsoleteROData.Value = true;
- this.swRmObsoleteROData.ValueObject = "Y";
- this.swRmObsoleteROData.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
- //
- // swRefreshWordAttmts
- //
- //
- //
- //
- this.swRefreshWordAttmts.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRefreshWordAttmts.Location = new System.Drawing.Point(10, 122);
- this.swRefreshWordAttmts.Name = "swRefreshWordAttmts";
- this.swRefreshWordAttmts.Size = new System.Drawing.Size(91, 22);
- this.swRefreshWordAttmts.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swRefreshWordAttmts, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshWordAttmts.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
- this.swRefreshWordAttmts.SwitchClickTogglesValue = true;
- this.swRefreshWordAttmts.TabIndex = 27;
- this.swRefreshWordAttmts.Value = true;
- this.swRefreshWordAttmts.ValueObject = "Y";
- this.swRefreshWordAttmts.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
- //
- // swStandardHypenChars
- //
- //
- //
- //
- this.swStandardHypenChars.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swStandardHypenChars.Location = new System.Drawing.Point(10, 94);
- this.swStandardHypenChars.Name = "swStandardHypenChars";
- this.swStandardHypenChars.Size = new System.Drawing.Size(91, 22);
- this.swStandardHypenChars.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swStandardHypenChars, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("swStandardHypenChars.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129)));
- this.swStandardHypenChars.SwitchClickTogglesValue = true;
- this.swStandardHypenChars.TabIndex = 27;
- this.swStandardHypenChars.Value = true;
- this.swStandardHypenChars.ValueObject = "Y";
- this.swStandardHypenChars.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
- //
- // labelX4
- //
- this.labelX4.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX4.Location = new System.Drawing.Point(107, 66);
- this.labelX4.Name = "labelX4";
- this.labelX4.Size = new System.Drawing.Size(167, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX4, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("labelX4.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205)));
- this.labelX4.TabIndex = 24;
- this.labelX4.Text = "Remove Obsolete RO Data";
- //
- // labelX5
- //
- this.labelX5.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX5.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX5.Location = new System.Drawing.Point(107, 122);
- this.labelX5.Name = "labelX5";
- this.labelX5.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX5, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("labelX5.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
- this.labelX5.TabIndex = 25;
- this.labelX5.Text = "Refresh Word Attachments";
- //
- // labelX9
- //
- this.labelX9.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX9.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX9.Location = new System.Drawing.Point(107, 94);
- this.labelX9.Name = "labelX9";
- this.labelX9.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX9, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("labelX9.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129)));
- this.labelX9.TabIndex = 25;
- this.labelX9.Text = "Standardize Hyphen Characters";
- //
- // swRmOrphanDataRecs
- //
- //
- //
- //
- this.swRmOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRmOrphanDataRecs.Location = new System.Drawing.Point(10, 38);
- this.swRmOrphanDataRecs.Name = "swRmOrphanDataRecs";
- this.swRmOrphanDataRecs.Size = new System.Drawing.Size(91, 22);
- this.swRmOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swRmOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("swRmOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140)));
- this.swRmOrphanDataRecs.SwitchClickTogglesValue = true;
- this.swRmOrphanDataRecs.TabIndex = 23;
- this.swRmOrphanDataRecs.Value = true;
- this.swRmOrphanDataRecs.ValueObject = "Y";
- this.swRmOrphanDataRecs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
- //
- // labelX10
- //
- this.labelX10.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX10.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX10.Location = new System.Drawing.Point(107, 38);
- this.labelX10.Name = "labelX10";
- this.labelX10.Size = new System.Drawing.Size(184, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX10, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("labelX10.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140)));
- this.labelX10.TabIndex = 22;
- this.labelX10.Text = "Remove Orphan Data Records";
- //
- // labelX8
- //
- this.labelX8.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX8.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX8.Location = new System.Drawing.Point(5, 3);
- this.labelX8.Name = "labelX8";
- this.labelX8.Size = new System.Drawing.Size(251, 22);
- this.labelX8.TabIndex = 21;
- this.labelX8.Text = "Repair these Data Issues:";
- //
- // line2
- //
- this.line2.BackColor = System.Drawing.Color.Transparent;
- this.line2.Location = new System.Drawing.Point(4, 237);
- this.line2.Name = "line2";
- this.line2.Size = new System.Drawing.Size(281, 12);
- this.line2.TabIndex = 20;
- this.line2.Text = "line2";
- //
- // btnRunRepair
- //
- this.btnRunRepair.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
- this.btnRunRepair.Checked = true;
- this.btnRunRepair.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
- this.btnRunRepair.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.btnRunRepair.Location = new System.Drawing.Point(5, 198);
- this.btnRunRepair.Name = "btnRunRepair";
- this.btnRunRepair.Size = new System.Drawing.Size(280, 23);
- this.btnRunRepair.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.btnRunRepair, new DevComponents.DotNetBar.SuperTooltipInfo("Run Repair", "", "This will run the database repair tools selected.\r\n\r\nClick on the on/off switches" +
- " to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 103)));
- this.btnRunRepair.TabIndex = 3;
- this.btnRunRepair.Text = "Run Repair";
- this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click);
+ this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
+ this.btnFixLinks.Checked = true;
+ this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
+ this.btnFixLinks.Location = new System.Drawing.Point(15, 151);
+ this.btnFixLinks.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.btnFixLinks.Name = "btnFixLinks";
+ this.btnFixLinks.Size = new System.Drawing.Size(420, 35);
+ this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
+ "/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
+ " be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
+ this.btnFixLinks.TabIndex = 6;
+ this.btnFixLinks.Text = "Process Links";
+ this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
//
// sideNavPanel1
//
@@ -716,20 +808,23 @@
this.sideNavPanel1.Controls.Add(this.labelX1);
this.sideNavPanel1.Controls.Add(this.btnRunCheck);
this.sideNavPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.sideNavPanel1.Location = new System.Drawing.Point(80, 31);
+ this.sideNavPanel1.Location = new System.Drawing.Point(134, 48);
+ this.sideNavPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.sideNavPanel1.Name = "sideNavPanel1";
- this.sideNavPanel1.Size = new System.Drawing.Size(300, 494);
+ this.sideNavPanel1.Size = new System.Drawing.Size(436, 760);
this.sideNavPanel1.TabIndex = 2;
+ this.sideNavPanel1.Visible = false;
//
// warningBox3
//
this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox3.CloseButtonVisible = false;
this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image")));
- this.warningBox3.Location = new System.Drawing.Point(17, 207);
+ this.warningBox3.Location = new System.Drawing.Point(26, 318);
+ this.warningBox3.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
this.warningBox3.Name = "warningBox3";
this.warningBox3.OptionsButtonVisible = false;
- this.warningBox3.Size = new System.Drawing.Size(264, 32);
+ this.warningBox3.Size = new System.Drawing.Size(396, 49);
this.warningBox3.TabIndex = 29;
this.warningBox3.Text = "NOTE These tools can take a long time to run";
//
@@ -741,18 +836,20 @@
//
this.labelX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX7.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX7.Location = new System.Drawing.Point(5, 3);
+ this.labelX7.Location = new System.Drawing.Point(8, 5);
+ this.labelX7.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.labelX7.Name = "labelX7";
- this.labelX7.Size = new System.Drawing.Size(251, 22);
+ this.labelX7.Size = new System.Drawing.Size(376, 34);
this.labelX7.TabIndex = 19;
this.labelX7.Text = "Check for these Data Issues:";
//
// line1
//
this.line1.BackColor = System.Drawing.Color.Transparent;
- this.line1.Location = new System.Drawing.Point(8, 179);
+ this.line1.Location = new System.Drawing.Point(12, 275);
+ this.line1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.line1.Name = "line1";
- this.line1.Size = new System.Drawing.Size(285, 12);
+ this.line1.Size = new System.Drawing.Size(428, 18);
this.line1.TabIndex = 18;
this.line1.Text = "line1";
//
@@ -762,9 +859,10 @@
//
//
this.swCkObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swCkObsoleteROData.Location = new System.Drawing.Point(10, 99);
+ this.swCkObsoleteROData.Location = new System.Drawing.Point(15, 152);
+ this.swCkObsoleteROData.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.swCkObsoleteROData.Name = "swCkObsoleteROData";
- this.swCkObsoleteROData.Size = new System.Drawing.Size(91, 22);
+ this.swCkObsoleteROData.Size = new System.Drawing.Size(136, 34);
this.swCkObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCkObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("swCkObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135)));
this.swCkObsoleteROData.SwitchClickTogglesValue = true;
@@ -779,9 +877,10 @@
//
//
this.swHiddenDataLocs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swHiddenDataLocs.Location = new System.Drawing.Point(10, 71);
+ this.swHiddenDataLocs.Location = new System.Drawing.Point(15, 109);
+ this.swHiddenDataLocs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.swHiddenDataLocs.Name = "swHiddenDataLocs";
- this.swHiddenDataLocs.Size = new System.Drawing.Size(91, 22);
+ this.swHiddenDataLocs.Size = new System.Drawing.Size(136, 34);
this.swHiddenDataLocs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swHiddenDataLocs, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("swHiddenDataLocs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.swHiddenDataLocs.SwitchClickTogglesValue = true;
@@ -798,9 +897,10 @@
//
this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX3.Location = new System.Drawing.Point(107, 99);
+ this.labelX3.Location = new System.Drawing.Point(160, 152);
+ this.labelX3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.labelX3.Name = "labelX3";
- this.labelX3.Size = new System.Drawing.Size(154, 22);
+ this.labelX3.Size = new System.Drawing.Size(231, 34);
this.superTooltip1.SetSuperTooltip(this.labelX3, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("labelX3.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135)));
this.labelX3.TabIndex = 11;
this.labelX3.Text = "Obsolete RO Data";
@@ -813,9 +913,10 @@
//
this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX2.Location = new System.Drawing.Point(107, 71);
+ this.labelX2.Location = new System.Drawing.Point(160, 109);
+ this.labelX2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.labelX2.Name = "labelX2";
- this.labelX2.Size = new System.Drawing.Size(140, 22);
+ this.labelX2.Size = new System.Drawing.Size(210, 34);
this.superTooltip1.SetSuperTooltip(this.labelX2, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("labelX2.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.labelX2.TabIndex = 12;
this.labelX2.Text = "Hidden Data Locations";
@@ -826,9 +927,10 @@
//
//
this.swCkOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swCkOrphanDataRecs.Location = new System.Drawing.Point(10, 43);
+ this.swCkOrphanDataRecs.Location = new System.Drawing.Point(15, 66);
+ this.swCkOrphanDataRecs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.swCkOrphanDataRecs.Name = "swCkOrphanDataRecs";
- this.swCkOrphanDataRecs.Size = new System.Drawing.Size(91, 22);
+ this.swCkOrphanDataRecs.Size = new System.Drawing.Size(136, 34);
this.swCkOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCkOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("swCkOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 193)));
this.swCkOrphanDataRecs.SwitchClickTogglesValue = true;
@@ -845,9 +947,10 @@
//
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX1.Location = new System.Drawing.Point(107, 43);
+ this.labelX1.Location = new System.Drawing.Point(160, 66);
+ this.labelX1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.labelX1.Name = "labelX1";
- this.labelX1.Size = new System.Drawing.Size(172, 22);
+ this.labelX1.Size = new System.Drawing.Size(258, 34);
this.superTooltip1.SetSuperTooltip(this.labelX1, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("labelX1.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 190)));
this.labelX1.TabIndex = 8;
this.labelX1.Text = "Orphan Data Records";
@@ -858,9 +961,10 @@
this.btnRunCheck.Checked = true;
this.btnRunCheck.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnRunCheck.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.btnRunCheck.Location = new System.Drawing.Point(5, 150);
+ this.btnRunCheck.Location = new System.Drawing.Point(8, 231);
+ this.btnRunCheck.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btnRunCheck.Name = "btnRunCheck";
- this.btnRunCheck.Size = new System.Drawing.Size(286, 23);
+ this.btnRunCheck.Size = new System.Drawing.Size(429, 35);
this.btnRunCheck.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnRunCheck, new DevComponents.DotNetBar.SuperTooltipInfo("Run Check", "", "This will run the database check tools selected.\r\n\r\nClick on the on/off switches " +
"to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 100)));
@@ -868,168 +972,6 @@
this.btnRunCheck.Text = "Run Check";
this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click);
//
- // sideNavPanel3
- //
- this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
- this.sideNavPanel3.Controls.Add(this.labelX12);
- this.sideNavPanel3.Controls.Add(this.warningBox5);
- this.sideNavPanel3.Controls.Add(this.line3);
- this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
- this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
- this.sideNavPanel3.Controls.Add(this.labelX11);
- this.sideNavPanel3.Controls.Add(this.labelX6);
- this.sideNavPanel3.Controls.Add(this.warningBox1);
- this.sideNavPanel3.Controls.Add(this.myTV);
- this.sideNavPanel3.Controls.Add(this.btnFixLinks);
- this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.sideNavPanel3.Location = new System.Drawing.Point(80, 31);
- this.sideNavPanel3.Name = "sideNavPanel3";
- this.sideNavPanel3.Size = new System.Drawing.Size(300, 494);
- this.sideNavPanel3.TabIndex = 10;
- this.sideNavPanel3.Visible = false;
- //
- // swCheckROLinks
- //
- //
- //
- //
- this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swCheckROLinks.Location = new System.Drawing.Point(10, 66);
- this.swCheckROLinks.Name = "swCheckROLinks";
- this.swCheckROLinks.Size = new System.Drawing.Size(91, 22);
- this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
- this.swCheckROLinks.SwitchClickTogglesValue = true;
- this.swCheckROLinks.TabIndex = 33;
- this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
- //
- // labelX12
- //
- this.labelX12.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX12.Location = new System.Drawing.Point(107, 66);
- this.labelX12.Name = "labelX12";
- this.labelX12.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
- this.labelX12.TabIndex = 32;
- this.labelX12.Text = "Check RO Links";
- //
- // warningBox5
- //
- this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
- this.warningBox5.CloseButtonVisible = false;
- this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
- this.warningBox5.Location = new System.Drawing.Point(17, 145);
- this.warningBox5.Name = "warningBox5";
- this.warningBox5.OptionsButtonVisible = false;
- this.warningBox5.Size = new System.Drawing.Size(262, 32);
- this.warningBox5.TabIndex = 31;
- this.warningBox5.Text = "NOTE These tools can take a long time to run";
- //
- // line3
- //
- this.line3.BackColor = System.Drawing.Color.Transparent;
- this.line3.Location = new System.Drawing.Point(6, 127);
- this.line3.Name = "line3";
- this.line3.Size = new System.Drawing.Size(285, 12);
- this.line3.TabIndex = 30;
- this.line3.Text = "line3";
- //
- // swUpdateROVals
- //
- //
- //
- //
- this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swUpdateROVals.Location = new System.Drawing.Point(10, 10);
- this.swUpdateROVals.Name = "swUpdateROVals";
- this.swUpdateROVals.Size = new System.Drawing.Size(91, 22);
- this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
- this.swUpdateROVals.SwitchClickTogglesValue = true;
- this.swUpdateROVals.TabIndex = 29;
- this.swUpdateROVals.Value = true;
- this.swUpdateROVals.ValueObject = "Y";
- this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
- //
- // swRefreshTrans
- //
- //
- //
- //
- this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRefreshTrans.Location = new System.Drawing.Point(10, 38);
- this.swRefreshTrans.Name = "swRefreshTrans";
- this.swRefreshTrans.Size = new System.Drawing.Size(91, 22);
- this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
- this.swRefreshTrans.SwitchClickTogglesValue = true;
- this.swRefreshTrans.TabIndex = 29;
- this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
- //
- // labelX11
- //
- this.labelX11.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX11.Location = new System.Drawing.Point(107, 10);
- this.labelX11.Name = "labelX11";
- this.labelX11.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
- this.labelX11.TabIndex = 28;
- this.labelX11.Text = "Update RO Values";
- //
- // labelX6
- //
- this.labelX6.BackColor = System.Drawing.Color.Transparent;
- //
- //
- //
- this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelX6.Location = new System.Drawing.Point(107, 38);
- this.labelX6.Name = "labelX6";
- this.labelX6.Size = new System.Drawing.Size(186, 22);
- this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
- this.labelX6.TabIndex = 28;
- this.labelX6.Text = "Refresh Transitions";
- //
- // warningBox1
- //
- this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
- this.warningBox1.CloseButtonVisible = false;
- this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
- this.warningBox1.Location = new System.Drawing.Point(17, 181);
- this.warningBox1.Name = "warningBox1";
- this.warningBox1.OptionsButtonVisible = false;
- this.warningBox1.Size = new System.Drawing.Size(262, 43);
- this.warningBox1.TabIndex = 7;
- this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
- "tions";
- //
- // btnFixLinks
- //
- this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
- this.btnFixLinks.Checked = true;
- this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
- this.btnFixLinks.Location = new System.Drawing.Point(10, 98);
- this.btnFixLinks.Name = "btnFixLinks";
- this.btnFixLinks.Size = new System.Drawing.Size(280, 23);
- this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
- "/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
- " be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
- this.btnFixLinks.TabIndex = 6;
- this.btnFixLinks.Text = "Process Links";
- this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
- //
// sideNavPanel2
//
this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch);
@@ -1048,9 +990,10 @@
this.sideNavPanel2.Controls.Add(this.line2);
this.sideNavPanel2.Controls.Add(this.btnRunRepair);
this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.sideNavPanel2.Location = new System.Drawing.Point(80, 31);
+ this.sideNavPanel2.Location = new System.Drawing.Point(134, 48);
+ this.sideNavPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.sideNavPanel2.Name = "sideNavPanel2";
- this.sideNavPanel2.Size = new System.Drawing.Size(300, 494);
+ this.sideNavPanel2.Size = new System.Drawing.Size(436, 760);
this.sideNavPanel2.TabIndex = 6;
this.sideNavPanel2.Visible = false;
//
@@ -1060,15 +1003,17 @@
//
//
this.swRefreshTblsForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
- this.swRefreshTblsForSrch.Location = new System.Drawing.Point(10, 153);
+ this.swRefreshTblsForSrch.Location = new System.Drawing.Point(15, 235);
+ this.swRefreshTblsForSrch.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.swRefreshTblsForSrch.Name = "swRefreshTblsForSrch";
- this.swRefreshTblsForSrch.Size = new System.Drawing.Size(91, 22);
+ this.swRefreshTblsForSrch.Size = new System.Drawing.Size(136, 34);
this.swRefreshTblsForSrch.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTblsForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshTblsForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
this.swRefreshTblsForSrch.SwitchClickTogglesValue = true;
this.swRefreshTblsForSrch.TabIndex = 32;
this.swRefreshTblsForSrch.Value = true;
this.swRefreshTblsForSrch.ValueObject = "Y";
+ this.swRefreshTblsForSrch.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
//
// lblRefreshTblForSrch
//
@@ -1078,31 +1023,239 @@
//
this.lblRefreshTblForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblRefreshTblForSrch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lblRefreshTblForSrch.Location = new System.Drawing.Point(107, 153);
+ this.lblRefreshTblForSrch.Location = new System.Drawing.Point(160, 235);
+ this.lblRefreshTblForSrch.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.lblRefreshTblForSrch.Name = "lblRefreshTblForSrch";
- this.lblRefreshTblForSrch.Size = new System.Drawing.Size(186, 22);
+ this.lblRefreshTblForSrch.Size = new System.Drawing.Size(279, 34);
this.superTooltip1.SetSuperTooltip(this.lblRefreshTblForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("lblRefreshTblForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
this.lblRefreshTblForSrch.TabIndex = 31;
this.lblRefreshTblForSrch.Text = "Refresh Tables For Search";
//
- // sideNavPanel4
+ // warningBox4
//
- this.sideNavPanel4.Controls.Add(this.btn_ShowUsers);
- this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
- this.sideNavPanel4.Location = new System.Drawing.Point(81, 31);
- this.sideNavPanel4.Name = "sideNavPanel4";
- this.sideNavPanel4.Size = new System.Drawing.Size(299, 494);
- this.sideNavPanel4.TabIndex = 14;
- this.sideNavPanel4.Visible = false;
+ this.warningBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
+ this.warningBox4.CloseButtonVisible = false;
+ this.warningBox4.Image = ((System.Drawing.Image)(resources.GetObject("warningBox4.Image")));
+ this.warningBox4.Location = new System.Drawing.Point(18, 406);
+ this.warningBox4.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
+ this.warningBox4.Name = "warningBox4";
+ this.warningBox4.OptionsButtonVisible = false;
+ this.warningBox4.Size = new System.Drawing.Size(396, 49);
+ this.warningBox4.TabIndex = 30;
+ this.warningBox4.Text = "NOTE These tools can take a long time to run";
+ //
+ // warningBox2
+ //
+ this.warningBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
+ this.warningBox2.CloseButtonVisible = false;
+ this.warningBox2.Image = ((System.Drawing.Image)(resources.GetObject("warningBox2.Image")));
+ this.warningBox2.Location = new System.Drawing.Point(18, 465);
+ this.warningBox2.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
+ this.warningBox2.Name = "warningBox2";
+ this.warningBox2.OptionsButtonVisible = false;
+ this.warningBox2.Size = new System.Drawing.Size(396, 66);
+ this.warningBox2.TabIndex = 28;
+ this.warningBox2.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
+ "tions";
+ //
+ // swRmObsoleteROData
+ //
+ //
+ //
+ //
+ this.swRmObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swRmObsoleteROData.Location = new System.Drawing.Point(15, 102);
+ this.swRmObsoleteROData.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swRmObsoleteROData.Name = "swRmObsoleteROData";
+ this.swRmObsoleteROData.Size = new System.Drawing.Size(136, 34);
+ this.swRmObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swRmObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("swRmObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205)));
+ this.swRmObsoleteROData.SwitchClickTogglesValue = true;
+ this.swRmObsoleteROData.TabIndex = 26;
+ this.swRmObsoleteROData.Value = true;
+ this.swRmObsoleteROData.ValueObject = "Y";
+ this.swRmObsoleteROData.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
+ //
+ // swRefreshWordAttmts
+ //
+ //
+ //
+ //
+ this.swRefreshWordAttmts.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swRefreshWordAttmts.Location = new System.Drawing.Point(15, 188);
+ this.swRefreshWordAttmts.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swRefreshWordAttmts.Name = "swRefreshWordAttmts";
+ this.swRefreshWordAttmts.Size = new System.Drawing.Size(136, 34);
+ this.swRefreshWordAttmts.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swRefreshWordAttmts, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshWordAttmts.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
+ this.swRefreshWordAttmts.SwitchClickTogglesValue = true;
+ this.swRefreshWordAttmts.TabIndex = 27;
+ this.swRefreshWordAttmts.Value = true;
+ this.swRefreshWordAttmts.ValueObject = "Y";
+ this.swRefreshWordAttmts.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
+ //
+ // swStandardHypenChars
+ //
+ //
+ //
+ //
+ this.swStandardHypenChars.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swStandardHypenChars.Location = new System.Drawing.Point(15, 145);
+ this.swStandardHypenChars.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swStandardHypenChars.Name = "swStandardHypenChars";
+ this.swStandardHypenChars.Size = new System.Drawing.Size(136, 34);
+ this.swStandardHypenChars.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swStandardHypenChars, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("swStandardHypenChars.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129)));
+ this.swStandardHypenChars.SwitchClickTogglesValue = true;
+ this.swStandardHypenChars.TabIndex = 27;
+ this.swStandardHypenChars.Value = true;
+ this.swStandardHypenChars.ValueObject = "Y";
+ this.swStandardHypenChars.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
+ //
+ // labelX4
+ //
+ this.labelX4.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX4.Location = new System.Drawing.Point(160, 102);
+ this.labelX4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX4.Name = "labelX4";
+ this.labelX4.Size = new System.Drawing.Size(250, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX4, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("labelX4.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205)));
+ this.labelX4.TabIndex = 24;
+ this.labelX4.Text = "Remove Obsolete RO Data";
+ //
+ // labelX5
+ //
+ this.labelX5.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX5.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX5.Location = new System.Drawing.Point(160, 188);
+ this.labelX5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX5.Name = "labelX5";
+ this.labelX5.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX5, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("labelX5.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
+ this.labelX5.TabIndex = 25;
+ this.labelX5.Text = "Refresh Word Attachments";
+ //
+ // labelX9
+ //
+ this.labelX9.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX9.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX9.Location = new System.Drawing.Point(160, 145);
+ this.labelX9.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX9.Name = "labelX9";
+ this.labelX9.Size = new System.Drawing.Size(279, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX9, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("labelX9.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129)));
+ this.labelX9.TabIndex = 25;
+ this.labelX9.Text = "Standardize Hyphen Characters";
+ //
+ // swRmOrphanDataRecs
+ //
+ //
+ //
+ //
+ this.swRmOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.swRmOrphanDataRecs.Location = new System.Drawing.Point(15, 58);
+ this.swRmOrphanDataRecs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.swRmOrphanDataRecs.Name = "swRmOrphanDataRecs";
+ this.swRmOrphanDataRecs.Size = new System.Drawing.Size(136, 34);
+ this.swRmOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.swRmOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("swRmOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140)));
+ this.swRmOrphanDataRecs.SwitchClickTogglesValue = true;
+ this.swRmOrphanDataRecs.TabIndex = 23;
+ this.swRmOrphanDataRecs.Value = true;
+ this.swRmOrphanDataRecs.ValueObject = "Y";
+ this.swRmOrphanDataRecs.ValueChanged += new System.EventHandler(this.swCk_ValueChanged);
+ //
+ // labelX10
+ //
+ this.labelX10.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX10.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX10.Location = new System.Drawing.Point(160, 58);
+ this.labelX10.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX10.Name = "labelX10";
+ this.labelX10.Size = new System.Drawing.Size(276, 34);
+ this.superTooltip1.SetSuperTooltip(this.labelX10, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("labelX10.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140)));
+ this.labelX10.TabIndex = 22;
+ this.labelX10.Text = "Remove Orphan Data Records";
+ //
+ // labelX8
+ //
+ this.labelX8.BackColor = System.Drawing.Color.Transparent;
+ //
+ //
+ //
+ this.labelX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
+ this.labelX8.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelX8.Location = new System.Drawing.Point(8, 5);
+ this.labelX8.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.labelX8.Name = "labelX8";
+ this.labelX8.Size = new System.Drawing.Size(376, 34);
+ this.labelX8.TabIndex = 21;
+ this.labelX8.Text = "Repair these Data Issues:";
+ //
+ // line2
+ //
+ this.line2.BackColor = System.Drawing.Color.Transparent;
+ this.line2.Location = new System.Drawing.Point(6, 365);
+ this.line2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.line2.Name = "line2";
+ this.line2.Size = new System.Drawing.Size(422, 18);
+ this.line2.TabIndex = 20;
+ this.line2.Text = "line2";
+ //
+ // btnRunRepair
+ //
+ this.btnRunRepair.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
+ this.btnRunRepair.Checked = true;
+ this.btnRunRepair.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
+ this.btnRunRepair.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnRunRepair.Location = new System.Drawing.Point(8, 305);
+ this.btnRunRepair.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.btnRunRepair.Name = "btnRunRepair";
+ this.btnRunRepair.Size = new System.Drawing.Size(420, 35);
+ this.btnRunRepair.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.superTooltip1.SetSuperTooltip(this.btnRunRepair, new DevComponents.DotNetBar.SuperTooltipInfo("Run Repair", "", "This will run the database repair tools selected.\r\n\r\nClick on the on/off switches" +
+ " to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 103)));
+ this.btnRunRepair.TabIndex = 3;
+ this.btnRunRepair.Text = "Run Repair";
+ this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click);
+ //
+ // sideNavPanel5
+ //
+ this.sideNavPanel5.Controls.Add(this.btn_ShowUsers);
+ this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.sideNavPanel5.Location = new System.Drawing.Point(122, 48);
+ this.sideNavPanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.sideNavPanel5.Name = "sideNavPanel5";
+ this.sideNavPanel5.Size = new System.Drawing.Size(448, 760);
+ this.sideNavPanel5.TabIndex = 14;
+ this.sideNavPanel5.Visible = false;
//
// btn_ShowUsers
//
this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btn_ShowUsers.Checked = true;
this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
- this.btn_ShowUsers.Location = new System.Drawing.Point(57, 37);
+ this.btn_ShowUsers.Location = new System.Drawing.Point(86, 57);
+ this.btn_ShowUsers.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.btn_ShowUsers.Name = "btn_ShowUsers";
- this.btn_ShowUsers.Size = new System.Drawing.Size(171, 23);
+ this.btn_ShowUsers.Size = new System.Drawing.Size(256, 35);
this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" +
"d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80)));
@@ -1129,7 +1282,6 @@
//
// sideNavItmCheck
//
- this.sideNavItmCheck.Checked = true;
this.sideNavItmCheck.Name = "sideNavItmCheck";
this.sideNavItmCheck.Panel = this.sideNavPanel1;
this.sideNavItmCheck.Symbol = "";
@@ -1155,11 +1307,20 @@
// sideNavItmUsers
//
this.sideNavItmUsers.Name = "sideNavItmUsers";
- this.sideNavItmUsers.Panel = this.sideNavPanel4;
+ this.sideNavItmUsers.Panel = this.sideNavPanel5;
this.sideNavItmUsers.Symbol = "";
this.sideNavItmUsers.Text = "Users";
this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click);
//
+ // sideNavItmDelete
+ //
+ this.sideNavItmDelete.Checked = true;
+ this.sideNavItmDelete.Name = "sideNavItmDelete";
+ this.sideNavItmDelete.Panel = this.sideNavPanel4;
+ this.sideNavItmDelete.Symbol = "";
+ this.sideNavItmDelete.Text = "Delete";
+ this.sideNavItmDelete.Click += new System.EventHandler(this.sideNavItmDelete_Click);
+ //
// sideNavItmExit
//
this.sideNavItmExit.Name = "sideNavItmExit";
@@ -1177,8 +1338,9 @@
this.panelEx4.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelEx4.Location = new System.Drawing.Point(0, 0);
+ this.panelEx4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.panelEx4.Name = "panelEx4";
- this.panelEx4.Size = new System.Drawing.Size(1177, 56);
+ this.panelEx4.Size = new System.Drawing.Size(1766, 87);
this.panelEx4.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx4.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx4.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@@ -1205,9 +1367,10 @@
this.stepItem3,
this.stepItem4});
this.progressSteps1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
- this.progressSteps1.Location = new System.Drawing.Point(123, 18);
+ this.progressSteps1.Location = new System.Drawing.Point(184, 28);
+ this.progressSteps1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.progressSteps1.Name = "progressSteps1";
- this.progressSteps1.Size = new System.Drawing.Size(1032, 26);
+ this.progressSteps1.Size = new System.Drawing.Size(1548, 40);
this.progressSteps1.TabIndex = 18;
//
// stepItem1
@@ -1246,12 +1409,18 @@
//
this.lblAdmToolProgressType.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblAdmToolProgressType.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lblAdmToolProgressType.Location = new System.Drawing.Point(19, 10);
+ this.lblAdmToolProgressType.Location = new System.Drawing.Point(28, 15);
+ this.lblAdmToolProgressType.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.lblAdmToolProgressType.Name = "lblAdmToolProgressType";
- this.lblAdmToolProgressType.Size = new System.Drawing.Size(98, 34);
+ this.lblAdmToolProgressType.Size = new System.Drawing.Size(147, 52);
this.lblAdmToolProgressType.TabIndex = 19;
this.lblAdmToolProgressType.Text = "Checking:";
//
+ // buttonItem1
+ //
+ this.buttonItem1.Name = "buttonItem1";
+ this.buttonItem1.Text = "buttonItem1";
+ //
// superTooltip1
//
this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
@@ -1259,10 +1428,11 @@
//
// frmBatchRefresh
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1177, 586);
+ this.ClientSize = new System.Drawing.Size(1766, 902);
this.Controls.Add(this.splitContainer3);
+ this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmBatchRefresh";
@@ -1286,11 +1456,11 @@
this.panelEx1.ResumeLayout(false);
this.sideNav1.ResumeLayout(false);
this.sideNav1.PerformLayout();
- this.sideNavPanel2.ResumeLayout(false);
- this.sideNavPanel1.ResumeLayout(false);
- this.sideNavPanel3.ResumeLayout(false);
- //this.sideNavPanel2.ResumeLayout(false);
this.sideNavPanel4.ResumeLayout(false);
+ this.sideNavPanel3.ResumeLayout(false);
+ this.sideNavPanel1.ResumeLayout(false);
+ this.sideNavPanel2.ResumeLayout(false);
+ this.sideNavPanel5.ResumeLayout(false);
this.panelEx4.ResumeLayout(false);
this.ResumeLayout(false);
@@ -1340,7 +1510,7 @@
private DevComponents.DotNetBar.LabelX labelX8;
private DevComponents.DotNetBar.Controls.Line line2;
private DevComponents.DotNetBar.ButtonX btnRunRepair;
- private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4;
+ private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5;
private DevComponents.DotNetBar.ButtonX btn_ShowUsers;
private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel3;
private DevComponents.DotNetBar.ButtonX btnFixLinks;
@@ -1376,5 +1546,16 @@
private DevComponents.DotNetBar.LabelX lblRefreshTblForSrch;
private DevComponents.DotNetBar.Controls.SwitchButton swCheckROLinks;
private DevComponents.DotNetBar.LabelX labelX12;
+ private DevComponents.DotNetBar.ButtonItem buttonItem1;
+ private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4;
+ private DevComponents.DotNetBar.Controls.SwitchButton swDeleteFolder;
+ private DevComponents.DotNetBar.LabelX labelX13;
+ private DevComponents.DotNetBar.Controls.SwitchButton swDeleteAnnotations;
+ private DevComponents.DotNetBar.LabelX labelX14;
+ private System.Windows.Forms.TreeView myTVdel;
+ private DevComponents.DotNetBar.ButtonX btnDeleteItems;
+ private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmDelete;
}
}
+
+
diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs
index 8dbc901c..e5c85cb9 100644
--- a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs
+++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs
@@ -10,6 +10,7 @@ using System.IO;
using Volian.Controls.Library;
using DevComponents.DotNetBar;
using JR.Utils.GUI.Forms;
+using Volian.Controls.Library;
namespace VEPROMS
{
@@ -22,12 +23,34 @@ namespace VEPROMS
set { _MySessionInfo = value; }
}
private bool IsAdministratorUser = false; //C2020-035 used to control what Set Amins can do
- // C2017-030 - new Admin Tools user interface
- // pass in session info to constructor
- public frmBatchRefresh(SessionInfo sessionInfo)
+ // C2017-030 - new Admin Tools user interface
+ // pass in session info to constructor
+
+ private frmVEPROMS _veProms;
+
+ public frmBatchRefresh(SessionInfo sessionInfo, frmVEPROMS veProms)
{
InitializeComponent();
_MySessionInfo = sessionInfo;
+
+ _veProms = veProms;
+
+
+ // When opening Admin tools Check tab will be default.
+ this.sideNavItmCheck.Checked = true;
+
+ if (sideNavItmDelete.Checked)
+ {
+ AdminToolType = (E_AdminToolType)4;
+ if (swDeleteFolder.Value)
+ {
+ ResetDelTV(true);
+ setupProgessSteps1();
+ }
+ else
+ ResetDelTV(false);
+ }
+
setupProgessSteps1(); // C2017-030 - new Admin Tools user interface
UserInfo ui = UserInfo.GetByUserID(MySessionInfo.UserID);
IsAdministratorUser = ui.IsAdministrator();
@@ -43,18 +66,32 @@ namespace VEPROMS
swStandardHypenChars.Enabled = false;
}
}
+ // Make txtProcess text box available to frmAnnotationsClean form.
+ internal TextBox GettxtProcess()
+ {
+ return txtProcess;
+ }
+
+ // Make txtResults text box available to frmAnnotationsClean form.
+ internal TextBox GettxtResults()
+ {
+ return txtResults;
+ }
+
// NOTE: removed the Refresh ROs and Refresh Transitions and ROs options (now only Transitions can be refreshed)
// the Update ROs and Refresh ROs logic was merged together. The Update ROs will functionally do both
// also annotations will be placed on step elements that have RO changes
// make all of the hyphen character consistant so they can all be found with the Search function
+
+
private void FixHyphens()
{
this.Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Standardizing Hyphens");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int affectedRows = ESP_FixHyphens.Execute("vesp_FixHyphens") / 2;// Two results for each change
@@ -65,7 +102,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -74,6 +111,8 @@ namespace VEPROMS
private Dictionary myProcedures = new Dictionary();
private Dictionary myDocVersions = new Dictionary();
+ private Dictionary myFolders = new Dictionary();
+
private void frmBatchRefresh_Load(object sender, EventArgs e)
{
IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
@@ -116,6 +155,7 @@ namespace VEPROMS
//myTreeNodePath = new List();
myTV.Nodes.Clear();
myDocVersions.Clear();
+ myFolders.Clear();
FolderInfo fi = FolderInfo.GetTop();
TreeNode tn = myTV.Nodes.Add(fi.Name);
tn.Tag = fi;
@@ -125,6 +165,37 @@ namespace VEPROMS
myTV.SelectedNode.Expand();
this.Cursor = Cursors.Default;
}
+ private void ResetDelTV()
+ {
+ ResetDelTV(false);
+ }
+ private void ResetDelTV(bool noProcs)
+ {
+ btnFixLinks.Enabled = false;
+ this.Cursor = Cursors.WaitCursor;
+ myTVdel.Nodes.Clear();
+ myDocVersions.Clear();
+ FolderInfo fi = FolderInfo.GetTop();
+
+ if (fi.ChildFolderCount > 0)
+ {
+ TreeNode tn = new TreeNode(fi.Name);
+ tn.Tag = fi;
+ tn.StateImageIndex = -1; // Hide the checkbox for the root node
+ LoadChildFolders(fi, tn, noProcs);
+ myTVdel.Nodes.Add(tn);
+ }
+
+ if (myTVdel.SelectedNode != null)
+ myTVdel.SelectedNode.Expand();
+
+ //Expand if folders
+ if (noProcs)
+ myTVdel.ExpandAll();
+
+ this.Cursor = Cursors.Default;
+ }
+
// B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set
private bool LoadChildFolders(FolderInfo fi, TreeNode tn, bool noProcs)
{
@@ -134,10 +205,13 @@ namespace VEPROMS
{
TreeNode tnc = tn.Nodes.Add(fic.Name);
tnc.Tag = fic;
+
if (fic.ChildFolderCount > 0)
- if(LoadChildFolders(fic, tnc, noProcs))
- loadedChildWorkingDraft=true;
- // B2020-114 and C2020-035 only show folders the Set Admin can access
+ {
+ if (LoadChildFolders(fic, tnc, noProcs))
+ loadedChildWorkingDraft = true;
+ }
+
if (fic.FolderDocVersionCount > 0)
{
if (!LoadDocVersions(fic, tnc, noProcs))
@@ -145,12 +219,27 @@ namespace VEPROMS
else
loadedWorkingDraft = true;
}
+ else
+ {
+ // Add the folder to the dictionary
+ if (!myFolders.ContainsKey(tnc))
+ myFolders.Add(tnc, fic);
+ }
}
- if (loadedChildWorkingDraft) loadedWorkingDraft = true; // B2021-060 if child folder working draft loaded set loadedWorkingDraft
+
+ if (loadedChildWorkingDraft)
+ {
+ loadedWorkingDraft = true;
+ }
+
if (tn.Parent != null && !loadedWorkingDraft)
+ {
tn.Remove();
+ }
+
return loadedWorkingDraft;
}
+
private bool LoadDocVersions(FolderInfo fic, TreeNode tnc, bool noProcs)
{
bool rtnval = false;
@@ -201,7 +290,7 @@ namespace VEPROMS
private void UpdateROValues()
{
this.Cursor = Cursors.WaitCursor;
- List pil = new List(); // C2023-002: list of checked out procedures, used in frmBatchRefreshCheckedOut dialog
+ List pil = new List(); // C2023-002: list of checked out procedures, used in frmBatchRefreshCheckedOut dialog
List dvil = new List();
foreach (TreeNode tn in myDocVersions.Keys)
if (tn.Checked)
@@ -251,7 +340,7 @@ namespace VEPROMS
Application.DoEvents();
}
}
-
+
Application.DoEvents();
// when processing more than one procedure set, display only one completed message after all are processed
if (ROFstInfo.MessageList != null)
@@ -273,7 +362,7 @@ namespace VEPROMS
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(1);
frmCO.MySessionInfo = MySessionInfo;
- frmCO.CheckedOutProcedures = pil; // C2023-002: set list of checked out procedures
+ frmCO.CheckedOutProcedures = pil; // C2023-002: set list of checked out procedures
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
// C2023-002: Allow close of dialog that has list of procedures that are checked out
if (frmCO.ShowDialog(this) != DialogResult.Cancel)
@@ -412,7 +501,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Refresh Transitions");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtResults.AppendText("Refresh Transitions");
txtResults.AppendText(Environment.NewLine);
@@ -449,19 +538,19 @@ namespace VEPROMS
Application.DoEvents();
}
}
- if (numTransFixed == 0 && numTransConverted ==0)
+ if (numTransFixed == 0 && numTransConverted == 0)
{
txtResults.AppendText("No Transitions Needed Updated.");
txtResults.AppendText(Environment.NewLine);
}
ContentInfo.StaticContentInfoChange -= new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Transitions Checked: {0}",numTransProcessed));
+ txtProcess.AppendText(string.Format("Transitions Checked: {0}", numTransProcessed));
txtProcess.AppendText(Environment.NewLine);
// B2018-002 - Invalid Transitions - Display Transition Refresh Statistics
- txtProcess.AppendText(string.Format("Transitions Correct As Is: {0}",numTransProcessed - (numTransConverted + numTransFixed)));
+ txtProcess.AppendText(string.Format("Transitions Correct As Is: {0}", numTransProcessed - (numTransConverted + numTransFixed)));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Transitions Modified: {0}", numTransFixed));
txtProcess.AppendText(Environment.NewLine);
@@ -490,10 +579,10 @@ namespace VEPROMS
}
this.Cursor = Cursors.Default;
// B2018-002 - Invalid Transitions - Display Transition Refresh Statisitic
- if (numTransFixed == 0 && numTransConverted ==0)
- MessageBox.Show(string.Format("{0} Transitions Checked.\n\nNo Transitions Modified.",numTransProcessed), "Refresh Transitions Completed");
+ if (numTransFixed == 0 && numTransConverted == 0)
+ MessageBox.Show(string.Format("{0} Transitions Checked.\n\nNo Transitions Modified.", numTransProcessed), "Refresh Transitions Completed");
else
- MessageBox.Show(string.Format("{0} Transitions Checked.\n\n {1} Correct as is.\n\n {2} Transitions modified.\n\n {3} Transitions converted to text.", numTransProcessed, numTransProcessed - (numTransFixed + numTransConverted),numTransFixed, numTransConverted), "Refresh Transitions Completed");
+ MessageBox.Show(string.Format("{0} Transitions Checked.\n\n {1} Correct as is.\n\n {2} Transitions modified.\n\n {3} Transitions converted to text.", numTransProcessed, numTransProcessed - (numTransFixed + numTransConverted), numTransFixed, numTransConverted), "Refresh Transitions Completed");
}
// C2017-030 - new Admin Tools user interface
@@ -506,7 +595,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Refreshing Word Attachments");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int affectedRows = ESP_DeletePDFs.Execute("vesp_DeletePDFs");
@@ -516,7 +605,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -561,7 +650,7 @@ namespace VEPROMS
private int RefreshForSearch()
{
int cntfix = 0;
- List gids = GridInfoList.GetIds(); // get all grids in database
+ List gids = GridInfoList.GetIds(); // get all grids in database
pbProcess.Minimum = 0;
pbProcess.Maximum = gids.Count;
pbProcess.Step = 1;
@@ -570,7 +659,7 @@ namespace VEPROMS
using (Content cc = Content.Get(cid))
{
StepConfig sc = new StepConfig(cc.Config);
- if (!sc.Step_FixedTblForSrch) // if not processed through this code already, get searchable text & save
+ if (!sc.Step_FixedTblForSrch) // if not processed through this code already, get searchable text & save
{
try
{
@@ -588,7 +677,7 @@ namespace VEPROMS
cc.UserID = Volian.Base.Library.VlnSettings.UserID;
cc.DTS = DateTime.Now;
cc.Text = srchtxt;
-
+
}
sc.Step_FixedTblForSrch = true;
cc.Config = sc.ToString();
@@ -615,7 +704,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Orphan Items");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount");
@@ -636,7 +725,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -652,7 +741,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Purging Orphan Items");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount");
@@ -689,7 +778,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -704,7 +793,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Unused RoFsts and Figures");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount");
@@ -727,9 +816,9 @@ namespace VEPROMS
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
this.Cursor = Cursors.Default;
@@ -742,7 +831,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Purging Unused RoFSTs and Figures Items");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount");
@@ -783,7 +872,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -798,7 +887,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Unused RO Associations");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount");
@@ -817,7 +906,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -832,7 +921,7 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Purging Unused Referenced Object Associations");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount");
@@ -866,7 +955,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -881,11 +970,11 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Hidden Item Locations");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
List myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems");
- txtProcess.AppendText(string.Format("Hidden Items Count: {0}",myItems.Count));
+ txtProcess.AppendText(string.Format("Hidden Items Count: {0}", myItems.Count));
txtProcess.AppendText(Environment.NewLine);
if (myItems.Count > 0)
{
@@ -906,7 +995,7 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
@@ -921,16 +1010,16 @@ namespace VEPROMS
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Show Users in PROMS");
txtProcess.AppendText(Environment.NewLine);
- txtProcess.AppendText(string.Format("Started: {0}",pStart.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
txtResults.Clear();
txtResults.AppendText(ESP_GetDatabaseSessions.Execute("vesp_GetDatabaseSessions"));
DateTime pEnd = DateTime.Now;
- txtProcess.AppendText(string.Format("Completed: {0}",pEnd.ToString("MM/dd/yyyy @ HH:mm")));
+ txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
Application.DoEvents();
this.Cursor = Cursors.Default;
- MessageBox.Show( "Show Users Completed", "Show Users");
+ MessageBox.Show("Show Users Completed", "Show Users");
}
private void ProcessUpdateROValues(DocVersionInfo dq)
@@ -1068,7 +1157,7 @@ namespace VEPROMS
// show the changes made in the Results pannel, include the ItemId of the step element
void ContentInfo_StaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
{
-
+
if (args.Type == "TX")
{
myFixesCount++;
@@ -1085,7 +1174,7 @@ namespace VEPROMS
}
else // B2018-002 - Invalid Transitions - Display Transition Cconversion Statistics
{
- myFixes.AppendLine(string.Format("Converted Transition to text for {0}({1})", (sender as ItemInfo).ShortPath, (sender as ItemInfo).ItemID));
+ myFixes.AppendLine(string.Format("Converted Transition to text for {0}({1})", (sender as ItemInfo).ShortPath, (sender as ItemInfo).ItemID));
}
}
@@ -1121,10 +1210,40 @@ namespace VEPROMS
CheckChildNodes(e.Node, e.Node.Checked);
}
}
+ if (swDeleteAnnotations.Value)
+ {
+ if (e.Node.Checked)
+ {
+ DiselectParentNodes(e.Node.Parent);
+ DiselectChildNodes(e.Node.Nodes);
+ }
+
+ }
btnFixLinks.Enabled = AtLeastOneNodeChecked(); // C2017-030 support for Refresh Transitions/Update RO Values
}
+ private void DiselectParentNodes(TreeNode parent)
+ {
+ while (parent != null)
+ {
+ if (parent.Checked)
+ parent.Checked = false;
+ parent = parent.Parent;
+ }
+ }
+
+ private void DiselectChildNodes(TreeNodeCollection childes)
+ {
+ foreach (TreeNode oneChild in childes)
+ {
+ if (oneChild.Checked)
+ oneChild.Checked = false;
+ DiselectChildNodes(oneChild.Nodes);
+ }
+ }
+
+
private void CheckChildNodes(TreeNode treeNode, bool ischecked)
{
foreach (TreeNode tn in treeNode.Nodes)
@@ -1137,15 +1256,85 @@ namespace VEPROMS
}
}
}
+ //After check model to select and deselect nodes on the delete and annotation tree.
+ private void myTV_AfterCheck_DelAnn(object sender, TreeViewEventArgs e)
+ {
+ if (e.Action != TreeViewAction.Unknown)
+ {
+ if (e.Node.Nodes.Count > 0)
+ {
+ CheckChildNodes_DelAnn(e.Node, e.Node.Checked);
+ }
+ }
+
+ if (e.Node.Checked)
+ {
+ // Ensure child nodes follow the parent node's state
+ CheckChildNodes_DelAnn(e.Node, e.Node.Checked);
+ }
+ else
+ {
+ // Automatically deselect parent nodes if current node is unchecked
+ if (swDeleteFolder.Value)
+ DiselectParentNodes_DelAnn(e.Node);
+ }
+
+ btnFixLinks.Enabled = AtLeastOneNodeChecked_DelAnn(); // Ensure button is enabled based on custom logic
+ }
+ private void DiselectParentNodes_DelAnn(TreeNode node)
+ {
+ TreeNode parent = node.Parent;
+ while (parent != null)
+ {
+ parent.Checked = false;
+ parent = parent.Parent;
+ }
+ }
+ private void DiselectChildNodes_DelAnn(TreeNodeCollection children)
+ {
+ foreach (TreeNode child in children)
+ {
+ child.Checked = false;
+ DiselectChildNodes_DelAnn(child.Nodes);
+ }
+ }
+ private void CheckChildNodes_DelAnn(TreeNode treeNode, bool isChecked)
+ {
+ foreach (TreeNode tn in treeNode.Nodes)
+ {
+ tn.Checked = isChecked;
+
+ if (tn.Nodes.Count > 0)
+ CheckChildNodes_DelAnn(tn, isChecked);
+ }
+ }
+ private bool AtLeastOneNodeChecked_DelAnn()
+ {
+ foreach (TreeNode node in myTV.Nodes)
+ {
+ if (node.Checked || AnyChildNodeChecked_DelAnn(node))
+ return true;
+ }
+ return false;
+ }
+ private bool AnyChildNodeChecked_DelAnn(TreeNode node)
+ {
+ foreach (TreeNode childNode in node.Nodes)
+ {
+ if (childNode.Checked || AnyChildNodeChecked_DelAnn(childNode))
+ return true;
+ }
+ return false;
+ }
private ProgressBarItem _ProgressBar = null;
public ProgressBarItem ProgressBar
{
get { return _ProgressBar; }
- set
- {
- _ProgressBar = value;
+ set
+ {
+ _ProgressBar = value;
_ProgressBar.TextVisible = true;
}
}
@@ -1246,6 +1435,25 @@ namespace VEPROMS
this.Close();
}
+ // new Admin Tools user interface for deletes
+ private void sideNavItmDelete_Click(object sender, EventArgs e)
+ {
+ AdminToolType = E_AdminToolType.Delete;
+ lblAdmToolProgressType.Text = "";
+ setupProgessSteps1();
+
+ if (swDeleteFolder.Value)
+ ResetDelTV(true);
+ else
+ ResetDelTV(false);
+ }
+
+ // new Admin Tools user interface for deletes
+ //private void sideNavItmDelete_Click_1(object sender, EventArgs e)
+ //{
+
+ //}
+
#region On/Off Swiches
// C2017-030 new Admin Tools user interface
@@ -1254,7 +1462,8 @@ namespace VEPROMS
Check = 0,
Repair = 1,
Links = 2,
- Users = 3
+ Users = 3,
+ Delete = 4
};
private E_AdminToolType AdminToolType = 0;
@@ -1305,6 +1514,23 @@ namespace VEPROMS
splitContainer3.Panel2Collapsed = true;
progressSteps1.Visible = false;
break;
+
+ case E_AdminToolType.Delete:
+ if (swDeleteFolder.Value)
+ {
+ splitContainer3.Panel2Collapsed = false;
+ progressSteps1.Items.Add(siOrphDatRecs);
+ lblAdmToolProgressType.Text = "Deleting: ";
+ progressSteps1.Visible = true;
+ progressSteps1.Refresh();
+ }
+ else
+ {
+ lblAdmToolProgressType.Text = "";
+ splitContainer3.Panel2Collapsed = true;
+ progressSteps1.Visible = false;
+ }
+ break;
}
}
@@ -1500,5 +1726,237 @@ namespace VEPROMS
}
}
+
+
+ //C2024-005 Delete Annotations, Delete Folders
+ private void swDeleteAnnotations_ValueChanged(object sender, EventArgs e)
+ {
+ setupProgessSteps1();
+ swDeleteFolder.Value = !swDeleteAnnotations.Value;
+ if (swDeleteFolder.Value)
+ ResetDelTV(true);
+ else
+ ResetDelTV(false);
+ }
+
+ private void swDeleteFolder_ValueChanged(object sender, EventArgs e)
+ {
+ setupProgessSteps1();
+ swDeleteAnnotations.Value = !swDeleteFolder.Value;
+ if (swDeleteFolder.Value)
+ ResetDelTV(true);
+ else
+ ResetDelTV(false);
+ }
+
+ private void btnDeleteItems_Click(object sender, EventArgs e)
+ {
+ //clear
+ txtResults.Clear();
+ txtProcess.Clear();
+
+ this.Cursor = Cursors.WaitCursor;
+
+ //Create checked proce and doc info lists.
+ List pil = new List();
+ List dvil = new List();
+
+ // Create a list of procedures the user selected
+ foreach (TreeNode tn in myProcedures.Keys)
+ if (tn.Checked)
+ pil.Add(myProcedures[tn]);
+
+ // Create a list of doc versions the user selected
+ foreach (TreeNode tn in myDocVersions.Keys)
+ if (tn.Checked)
+ dvil.Add(myDocVersions[tn]);
+
+ bool cancelledOut = false; // Flag to indicate if the process should be cancelled
+ StringBuilder sbDocVersions = new StringBuilder();
+
+ foreach (DocVersionInfo dq in dvil)
+ {
+ string msg = string.Empty;
+ if (!MySessionInfo.CanCheckOutItem(dq.VersionID, CheckOutType.DocVersion, ref msg))
+ {
+ string msgp = string.Empty;
+ foreach (ProcedureInfo pi in dq.Procedures)
+ {
+ if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msgp))
+ {
+ FolderInfo fi = (FolderInfo)dq.ActiveParent;
+ int itemID = (int)fi.FolderID;
+ string folderName = fi.Name;
+
+ if (swDeleteFolder.Value)
+ sbDocVersions.AppendLine($"{folderName} - {msgp}");
+ else
+ sbDocVersions.AppendLine(msgp);
+
+ cancelledOut = true;
+ }
+ }
+ }
+ }
+
+ if (cancelledOut)
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine("The batch update process was not successful for all working drafts selected.");
+ sb.AppendLine("The following procedures are currently checked out...");
+ sb.AppendLine();
+ sb.AppendLine(sbDocVersions.ToString());
+ sb.AppendLine();
+ if (swDeleteFolder.Value)
+ sb.AppendLine("If you want to delete these folders, please contact the respective users and have them close any procedures in the working draft.");
+ else
+ sb.AppendLine("If you want to delete annotations from these working drafts, please contact the respective users and have them close any procedures in the working draft.");
+ sb.AppendLine();
+ txtProcess.AppendText(sb.ToString());
+ this.Cursor = Cursors.Default;
+ return;
+ }
+
+
+
+
+ if (swDeleteFolder.Value)
+ {
+ if (FlexibleMessageBox.Show(this, "Are you sure you want to remove the selected folders and their contents?", "Confirm Folder Deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+ {
+ txtProcess.AppendText("Deleting Folders...");
+
+ //Load Selected Folders
+ List ef = new List();
+ foreach (TreeNode tn in myFolders.Keys)
+
+ if (tn.Checked)
+ ef.Add(myFolders[tn]);
+
+ ProcessDelete(dvil, ef);
+ }
+ }
+ else
+ {
+ // Write progress status
+ txtProcess.AppendText("Deleting Annotations...");
+
+ frmAnnotationsCleanup frmAnnoDel = new frmAnnotationsCleanup(this, pil, dvil);
+
+ frmAnnoDel.ShowDialog();
+
+
+ }
+ this.Cursor = Cursors.Default;
+ }
+
+ private void ProcessDelete(List foldersToDelete, List emptyFoldersToDelete)
+ {
+ int foldersDeleted = 0;
+
+ DateTime pStart = DateTime.Now;
+ txtProcess.AppendText(Environment.NewLine);
+ txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
+ txtProcess.AppendText(Environment.NewLine);
+
+ foreach (var kvp in foldersToDelete)
+ {
+ //Gather folder information
+ FolderInfo fi = (FolderInfo)kvp.ActiveParent;
+ int itemID = (int)fi.FolderID;
+ string folderName = fi.Name;
+
+ // Perform the deletion operation
+ bool deletionSuccessful = DeleteFolderByID(itemID);
+
+ // Update txtProcess with the progress
+ if (deletionSuccessful)
+ {
+ txtProcess.AppendText($"Successfully deleted folder: {folderName} (ID: {itemID})");
+ foldersDeleted += 1;
+ }
+ else
+ {
+ txtProcess.AppendText($"Failed to delete folder: {folderName} (ID: {itemID})");
+ }
+ txtProcess.AppendText(Environment.NewLine);
+ }
+
+
+ //Delete non working info folders.
+ foreach (var kvp in emptyFoldersToDelete)
+ {
+ //Gather folder information
+ FolderInfo fi = (FolderInfo)kvp;
+ int itemID = (int)fi.FolderID;
+ string folderName = fi.Name;
+
+ // Perform the deletion operation
+ bool deletionSuccessful = DeleteFolderByID(itemID);
+
+ // Update txtProcess with the progress
+ if (deletionSuccessful)
+ {
+ txtProcess.AppendText($"Successfully deleted folder: {folderName} (ID: {itemID})");
+ foldersDeleted += 1;
+ }
+ else
+ {
+ txtProcess.AppendText($"Failed to delete folder: {folderName} (ID: {itemID})");
+ }
+ txtProcess.AppendText(Environment.NewLine);
+
+ }
+
+
+
+
+ //Run Repair
+ int prgStpIdx = -1;
+ StepProgress(++prgStpIdx, 50);
+ PurgeDisconnectedItems(); // Orphan Items
+ StepProgress(prgStpIdx, 100);
+
+ //rebuild
+ ResetDelTV(true);
+
+ MessageBox.Show($"Folder deletion completed, {foldersDeleted} folders have been deleted.", "Delete Folders");
+ ClearStepProgress();
+
+ txtResults.AppendText($"Folder deletion process completed, {foldersDeleted} folders have been deleted.");
+ txtResults.AppendText(Environment.NewLine);
+ }
+
+ private bool DeleteFolderByID(int folderID)
+ {
+ try
+ {
+ //Delete
+ Folder.DeleteFolderAdmin(folderID);
+
+ //update treeview UI via veProms
+ _veProms.tv_FolderDelete(folderID);
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ string err = ex.ToString();
+ return false;
+ }
+ }
+
+ public List RetrieveChkAnnotations()
+ {
+ List pil = new List();
+ foreach (TreeNode tn in myProcedures.Keys)
+ if (tn.Checked)
+ pil.Add(myProcedures[tn]);
+ return pil;
+ }
}
}
+
+
+
+
diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx
index 45fdc8fb..ceac1979 100644
--- a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx
+++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx
@@ -117,74 +117,47 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
- k11IU2Ecxv9zouK8CULrzo8SU3QKaSYmOJ2uFL8SK4igEIok6qKUwggySTShC41CRiiGdWNfYBcVWiGl
- FqN0lh+UTaekzuWcuu2c9316nSdKLPEHz817/s/zPv9zOPQ/nlVQEGulF3ILPe+8SIHK8eYR5lusLwHy
- Oy08RqpXjjfHVCMlsydbGbekg4/r4HmwRbLWUZzyeGNqD5NK1O5lw8L8NQHckgh5SAdXA3UqIxuzZKSj
- 8ssI8Il9wMQeYDoVfD4HrsdhsNdRgTL2b4yl5Ce1qL+xcQOWxpKxMzwAMVEayIv7IU8XwVnv8+XuEfJV
- xtfjMlKZ/CYG3JYJ96wOPj6EoCBfMCkfnJdguSMG89eoVBlfS+tJCpCafa1stgBYzAZbzoFGo0ZIiD84
- KwJ350P+UQxHtfr7vUPkp9j+4GqiM1K3FtyVB8h5wlSI4GB/RIQHgjtzwWaywMb1WHwYg7lKOq3YVrlz
- jPw8RrWFOUoAJhpwcaNciNDQQMRGB4FNpIMNp4B93A2pXw/7ZbWlufCvFguNdNzzOta7J5S6fP4AdkVq
- kKQVAQNJYO8TwHq0kD8kwdkWhZkLdMJrrsonlfu2yszmSsA9Bat1p0XdsTTcvxmJtpowyL1ar/m3PKYM
- 2MpVgzcySUWTdWRwd+wAXzoo3r5B7CnqDqVg+lW89yuoVARrR/SaANm0F46mUFjOUjYtN9BTaVQYJzPA
- RlPB+hNF3XjvP3C9bDuqTm2D9DZuTcCKXN1psJ2ndhGgnpJGciENGyB9zoJk1kMezFonySw0oIf0KVOs
- oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
- zJwL4b/EAAAAAElFTkSuQmCC
-
-
17, 17
-
- Referenced Objects databases are associated with a procedure set (such as Working Draft).
+
+ This allows the user to remove folders and sub folders as well as their contents.
+
+Be sure a current backup of the database exists prior performing this function.
+
+It is recommended that this be done during off hours.
-RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
-
- Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
+
+ This allows the user to remove folders and sub folders as well as their contents.
-When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
+Be sure a current backup of the database exists prior performing this function.
-This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
+It is recommended that this be done during off hours.
-This tool may take an extended period of time to execute.
-
- Referenced Objects databases are associated with a procedure set (such as Working Draft).
+
+ This function will allow the user to remove annotations from the selected working drafts.
-RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
-
+Be sure a current backup of the database exists prior to running this function.
+
+If more than one working draft is selected, it is recommended that this be performed during off hours.
-
- Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
+
+ This function will allow the user to remove annotations from the selected working drafts.
-When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
+Be sure a current backup of the database exists prior to running this function.
-This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
-
-This tool may take an extended period of time to execute.
-
+If more than one working draft is selected, it is recommended that this be performed during off hours.
-
- Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
+
+ This will allow for the deletion of groups of annotations and allow for deleting entire folders within PROMS. Use the tree nodes to select which items to delete.
-Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
+Click on the on/off switches to turn on/off each tool.
-This tool may take an extended period of time to execute.
-
-
-
- Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
-
-Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
-
-This tool may take an extended period of time to execute.
-
+Note that only one of these tools can be run at a time.
This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
@@ -207,6 +180,7 @@ Be sure a current backup of the database exists prior performing this function.
It is recommended that this be done during off hours.
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
@@ -269,6 +243,71 @@ If more than one procedure is selected, it is recommended that this be performed
RlPB+hNF3XjvP3C9bDuqTm2D9DZuTcCKXN1psJ2ndhGgnpJGciENGyB9zoJk1kMezFonySw0oIf0KVOs
oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
zJwL4b/EAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
+ k11IU2Ecxv9zouK8CULrzo8SU3QKaSYmOJ2uFL8SK4igEIok6qKUwggySTShC41CRiiGdWNfYBcVWiGl
+ FqN0lh+UTaekzuWcuu2c9316nSdKLPEHz817/s/zPv9zOPQ/nlVQEGulF3ILPe+8SIHK8eYR5lusLwHy
+ Oy08RqpXjjfHVCMlsydbGbekg4/r4HmwRbLWUZzyeGNqD5NK1O5lw8L8NQHckgh5SAdXA3UqIxuzZKSj
+ 8ssI8Il9wMQeYDoVfD4HrsdhsNdRgTL2b4yl5Ce1qL+xcQOWxpKxMzwAMVEayIv7IU8XwVnv8+XuEfJV
+ xtfjMlKZ/CYG3JYJ96wOPj6EoCBfMCkfnJdguSMG89eoVBlfS+tJCpCafa1stgBYzAZbzoFGo0ZIiD84
+ KwJ350P+UQxHtfr7vUPkp9j+4GqiM1K3FtyVB8h5wlSI4GB/RIQHgjtzwWaywMb1WHwYg7lKOq3YVrlz
+ jPw8RrWFOUoAJhpwcaNciNDQQMRGB4FNpIMNp4B93A2pXw/7ZbWlufCvFguNdNzzOta7J5S6fP4AdkVq
+ kKQVAQNJYO8TwHq0kD8kwdkWhZkLdMJrrsonlfu2yszmSsA9Bat1p0XdsTTcvxmJtpowyL1ar/m3PKYM
+ 2MpVgzcySUWTdWRwd+wAXzoo3r5B7CnqDqVg+lW89yuoVARrR/SaANm0F46mUFjOUjYtN9BTaVQYJzPA
+ RlPB+hNF3XjvP3C9bDuqTm2D9DZuTcCKXN1psJ2ndhGgnpJGciENGyB9zoJk1kMezFonySw0oIf0KVOs
+ oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
+ zJwL4b/EAAAAAElFTkSuQmCC
+
+
+
+ Referenced Objects databases are associated with a procedure set (such as Working Draft).
+
+RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
+
+
+
+ Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
+
+When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
+
+This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
+
+This tool may take an extended period of time to execute.
+
+
+
+ Referenced Objects databases are associated with a procedure set (such as Working Draft).
+
+RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
+
+
+
+ Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
+
+When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
+
+This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
+
+This tool may take an extended period of time to execute.
+
+
+
+ Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
+
+Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
+
+This tool may take an extended period of time to execute.
+
+
+
+ Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
+
+Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
+
+This tool may take an extended period of time to execute.
@@ -368,6 +407,6 @@ Should an item become orphaned (disconnected) from the rest of the data, it will
- 38
+ 46
-
+
\ No newline at end of file
diff --git a/PROMS/VEPROMS User Interface/frmFolderProperties.Designer.cs b/PROMS/VEPROMS User Interface/frmFolderProperties.Designer.cs
index 0cb038ff..59b4cfe1 100644
--- a/PROMS/VEPROMS User Interface/frmFolderProperties.Designer.cs
+++ b/PROMS/VEPROMS User Interface/frmFolderProperties.Designer.cs
@@ -49,10 +49,8 @@ namespace VEPROMS
this.imageCodecInfoBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.ppLblGrphFileExtDefault = new System.Windows.Forms.Label();
this.lblGrphFileExt = new System.Windows.Forms.Label();
- this.ppBtnDeftDisAutoDuplx = new DevComponents.DotNetBar.ButtonX();
this.ppBtnDefWatermark = new DevComponents.DotNetBar.ButtonX();
this.ppCmbxWatermark = new DevComponents.DotNetBar.Controls.ComboBoxEx();
- this.ppLblAutoDuplexDefault = new System.Windows.Forms.Label();
this.ppLblWatermarkDefault = new System.Windows.Forms.Label();
this.ppNumUpDwnOvrdPrnPenWidth = new System.Windows.Forms.NumericUpDown();
this.label9 = new System.Windows.Forms.Label();
@@ -62,7 +60,6 @@ namespace VEPROMS
this.label11 = new System.Windows.Forms.Label();
this.ppNumUpDwnAdjPrnStartPos = new System.Windows.Forms.NumericUpDown();
this.label12 = new System.Windows.Forms.Label();
- this.ppChbxDisAutoDuplex = new System.Windows.Forms.CheckBox();
this.label29 = new System.Windows.Forms.Label();
this.ppChkbxStMsgActive = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.ppRTxtStMsg = new System.Windows.Forms.RichTextBox();
@@ -434,20 +431,6 @@ namespace VEPROMS
this.lblGrphFileExt.TabIndex = 19;
this.lblGrphFileExt.Text = "Graphic File Extension";
//
- // ppBtnDeftDisAutoDuplx
- //
- this.ppBtnDeftDisAutoDuplx.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
- this.ppBtnDeftDisAutoDuplx.Location = new System.Drawing.Point(595, 22);
- this.ppBtnDeftDisAutoDuplx.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.ppBtnDeftDisAutoDuplx.Name = "ppBtnDeftDisAutoDuplx";
- this.ppBtnDeftDisAutoDuplx.Size = new System.Drawing.Size(59, 25);
- this.superTooltip1.SetSuperTooltip(this.ppBtnDeftDisAutoDuplx, new DevComponents.DotNetBar.SuperTooltipInfo("The Default Button", "", resources.GetString("ppBtnDeftDisAutoDuplx.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(255, 150)));
- this.ppBtnDeftDisAutoDuplx.TabIndex = 33;
- this.ppBtnDeftDisAutoDuplx.Text = "Default";
- this.ppBtnDeftDisAutoDuplx.ThemeAware = true;
- this.ppBtnDeftDisAutoDuplx.Visible = false;
- this.ppBtnDeftDisAutoDuplx.Click += new System.EventHandler(this.ppBtnDeftDisAutoDuplx_Click);
- //
// ppBtnDefWatermark
//
this.ppBtnDefWatermark.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
@@ -480,20 +463,6 @@ namespace VEPROMS
this.ppCmbxWatermark.WatermarkText = "select watermark option";
this.ppCmbxWatermark.SelectedValueChanged += new System.EventHandler(this.ppCmbxWatermark_SelectedValueChanged);
//
- // ppLblAutoDuplexDefault
- //
- this.ppLblAutoDuplexDefault.AutoSize = true;
- this.ppLblAutoDuplexDefault.BackColor = System.Drawing.Color.Transparent;
- this.ppLblAutoDuplexDefault.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.ppLblAutoDuplexDefault.ForeColor = System.Drawing.Color.Gray;
- this.ppLblAutoDuplexDefault.Location = new System.Drawing.Point(400, 46);
- this.ppLblAutoDuplexDefault.Name = "ppLblAutoDuplexDefault";
- this.ppLblAutoDuplexDefault.Size = new System.Drawing.Size(64, 13);
- this.superTooltip1.SetSuperTooltip(this.ppLblAutoDuplexDefault, new DevComponents.DotNetBar.SuperTooltipInfo("This is the Automatic Duplex default setting", "", "Pressing the Default Button (to the right)\r\nwill reset the Automatic Duplex setti" +
- "ng back\r\nto this default.\r\n", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
- this.ppLblAutoDuplexDefault.TabIndex = 51;
- this.ppLblAutoDuplexDefault.Text = "(default ON)";
- //
// ppLblWatermarkDefault
//
this.ppLblWatermarkDefault.AutoSize = true;
@@ -594,22 +563,6 @@ namespace VEPROMS
this.label12.TabIndex = 6;
this.label12.Text = "Adjust Starting Position on Page (dots)";
//
- // ppChbxDisAutoDuplex
- //
- this.ppChbxDisAutoDuplex.AutoSize = true;
- this.ppChbxDisAutoDuplex.BackColor = System.Drawing.Color.Transparent;
- this.ppChbxDisAutoDuplex.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.folderConfigBindingSource, "Print_DisableDuplex", true));
- this.ppChbxDisAutoDuplex.Location = new System.Drawing.Point(380, 22);
- this.ppChbxDisAutoDuplex.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.ppChbxDisAutoDuplex.Name = "ppChbxDisAutoDuplex";
- this.ppChbxDisAutoDuplex.Size = new System.Drawing.Size(199, 20);
- this.superTooltip1.SetSuperTooltip(this.ppChbxDisAutoDuplex, new DevComponents.DotNetBar.SuperTooltipInfo("Disable Automatic Duplex", "", "Checking this box will turn OFF the automatic duplexing used in some formats for " +
- "Foldout pages.", null, null, DevComponents.DotNetBar.eTooltipColor.System, true, false, new System.Drawing.Size(0, 0)));
- this.ppChbxDisAutoDuplex.TabIndex = 32;
- this.ppChbxDisAutoDuplex.Text = "Disable Automatic Duplexing";
- this.ppChbxDisAutoDuplex.UseVisualStyleBackColor = false;
- this.ppChbxDisAutoDuplex.CheckedChanged += new System.EventHandler(this.ppChbxDisAutoDuplex_CheckedChanged);
- //
// label29
//
this.label29.AutoSize = true;
@@ -2277,10 +2230,7 @@ namespace VEPROMS
//
this.tcpOutputSettings.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.tcpOutputSettings.Controls.Add(this.groupPanel2);
- this.tcpOutputSettings.Controls.Add(this.ppBtnDeftDisAutoDuplx);
- this.tcpOutputSettings.Controls.Add(this.ppLblAutoDuplexDefault);
this.tcpOutputSettings.Controls.Add(this.ppBtnDefWatermark);
- this.tcpOutputSettings.Controls.Add(this.ppChbxDisAutoDuplex);
this.tcpOutputSettings.Controls.Add(this.label29);
this.tcpOutputSettings.Controls.Add(this.ppCmbxWatermark);
this.tcpOutputSettings.Controls.Add(this.ppLblWatermarkDefault);
@@ -2597,7 +2547,6 @@ namespace VEPROMS
private System.Windows.Forms.Label label27;
private System.Windows.Forms.Label label30;
private System.Windows.Forms.Label label31;
- private System.Windows.Forms.CheckBox ppChbxDisAutoDuplex;
private System.Windows.Forms.Label label29;
private System.Windows.Forms.BindingSource folderConfigBindingSource;
private System.Windows.Forms.Label lblGrphFileExt;
@@ -2610,7 +2559,6 @@ namespace VEPROMS
private System.Windows.Forms.Label ppLblChgBarUserMsgTwoDefault;
private System.Windows.Forms.Label ppLblChgBarUserMsgOneDefault;
private System.Windows.Forms.Label ppLblWatermarkDefault;
- private System.Windows.Forms.Label ppLblAutoDuplexDefault;
private System.Windows.Forms.Label ppLblStpEditorColsDefault;
private DevComponents.DotNetBar.SuperTooltip superTooltip1;
private DevComponents.DotNetBar.Controls.ComboBoxEx ppCmbxFormat;
@@ -2630,7 +2578,6 @@ namespace VEPROMS
private DevComponents.DotNetBar.ButtonX ppBtnDefCbTxt2;
private DevComponents.DotNetBar.Controls.CheckBoxX ppCbShwDefSettings;
private DevComponents.DotNetBar.ButtonX ppBtnDefEdCols;
- private DevComponents.DotNetBar.ButtonX ppBtnDeftDisAutoDuplx;
private System.Windows.Forms.FolderBrowserDialog dlgROFolder;
private DevComponents.DotNetBar.ButtonX ppBtnChgTextColors;
private DevComponents.DotNetBar.ColorPickerDropDown ppColorPickerViewModebckgnd;
diff --git a/PROMS/VEPROMS User Interface/frmFolderProperties.cs b/PROMS/VEPROMS User Interface/frmFolderProperties.cs
index 7c55c5dc..e0d3a6e7 100644
--- a/PROMS/VEPROMS User Interface/frmFolderProperties.cs
+++ b/PROMS/VEPROMS User Interface/frmFolderProperties.cs
@@ -116,9 +116,6 @@ namespace VEPROMS
_DefaultWatermark = _FolderConfig.Print_Watermark.ToString();
SetupDefault(EnumDescConverter.GetEnumDescription(_FolderConfig.Print_Watermark), ppLblWatermarkDefault, ppCmbxWatermark);
- // Get the default Disable Duplex
- _DefaultDisableDuplex = _FolderConfig.Print_DisableDuplex;
- ppLblAutoDuplexDefault.Text = string.Format("(Duplex {0})", (_DefaultDisableDuplex) ? "OFF" : "ON");
// Get the default Format Columns
_DefaultFormatColumns = _FolderConfig.Format_Columns.ToString();
@@ -305,24 +302,6 @@ namespace VEPROMS
ppLblGrphFileExtDefault.Visible = false;
this.lblGrphFileExt.Visible = false;
- // Set the auto duplex controls based on whether the format allows this:
- // Note that the controls' visibility would not set correctly using the following two lines of code. That
- // is why the more explicit logic was done.
- //ppChbxDisAutoDuplex.Visible = _DocVersionConfig.MyDocVersion.MyFormat.PlantFormat.FormatData.PrintData.AllowDuplex;
- //ppLblAutoDuplexDefault.Visible = ppBtnDeftDisAutoDuplx.Visible = ppLblAutoDuplexDefault.Visible;
- FolderInfo fi = FolderInfo.Get(_FolderConfig.MyFolder.FolderID);
- if (fi.ActiveFormat.PlantFormat.FormatData.PrintData.AllowDuplex)
- {
- ppChbxDisAutoDuplex.Visible = true;
- ppLblAutoDuplexDefault.Visible = true;
- ppBtnDeftDisAutoDuplx.Visible = true;
- }
- else
- {
- ppChbxDisAutoDuplex.Visible = false;
- ppLblAutoDuplexDefault.Visible = false;
- ppBtnDeftDisAutoDuplx.Visible = false;
- }
// HIDE the text box that allows the user to change the Procedure Panel's heading (title) on the panel bar
ppRTxtHeading.Visible = false;
lblHeading.Visible = false;
@@ -664,20 +643,6 @@ namespace VEPROMS
//tcpOutputSettings.Focus();
}
- ///
- /// Checkbox of the Disable Automatic Duplex changed.
- ///
- /// object
- /// EventArgs
- private void ppChbxDisAutoDuplex_CheckedChanged(object sender, EventArgs e)
- {
- if (!_Initializing)
- {
- _FolderConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = (!_FolderConfig.Name.Equals("VEPROMS")) && (_DefaultDisableDuplex != ppChbxDisAutoDuplex.Checked);
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
- }
- }
#endregion
@@ -1174,7 +1139,6 @@ namespace VEPROMS
ppLblChgBarUserMsgOneDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt1.Visible;
ppLblChgBarUserMsgTwoDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt2.Visible;
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
ppLblStpEditorColsDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefEdCols.Visible;
ppLblGrphFileExtDefault.Visible = (ppCbShwDefSettings.Checked || _IsVepromsNode) && ppBtnDefaultGrphFileExt.Visible;
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
@@ -1300,15 +1264,6 @@ namespace VEPROMS
}
}
- private void ppBtnDeftDisAutoDuplx_Click(object sender, EventArgs e)
- {
- ppChbxDisAutoDuplex.Checked = _DefaultDisableDuplex;
- _FolderConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = false;
- ppLblAutoDuplexDefault.Visible = false;
- //tcpOutputSettings.Focus();
- }
-
private void frmFolderProperties_Shown(object sender, EventArgs e)
{
ppRTxtName.Focus();
diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs
index 91c20e91..9ef8319b 100644
--- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs
+++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs
@@ -295,7 +295,10 @@ namespace VEPROMS
}
}
- while (!MyPromsPrinter.MergeNotIncluded && _PdfFile == null && MessageBox.Show("Try Again?", "PDF Creation Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
+ // B2024-062 Added check for EmptyProcedure. We don't need to show the Try Again message if the procedure
+ // is empty, as it would be just be a waste of time for the user.
+ while (!MyPromsPrinter.MergeNotIncluded && _PdfFile == null && !MyPromsPrinter.EmptyProcedure &&
+ MessageBox.Show("Try Again?", "PDF Creation Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
if (_PdfFile == null)
diff --git a/PROMS/VEPROMS User Interface/frmProcedureProperties.Designer.cs b/PROMS/VEPROMS User Interface/frmProcedureProperties.Designer.cs
index 2a826d34..cee5af17 100644
--- a/PROMS/VEPROMS User Interface/frmProcedureProperties.Designer.cs
+++ b/PROMS/VEPROMS User Interface/frmProcedureProperties.Designer.cs
@@ -74,9 +74,6 @@ namespace VEPROMS
this.label41 = new System.Windows.Forms.Label();
this.ppNumUpDwnAdjPrnStartPos = new System.Windows.Forms.NumericUpDown();
this.label42 = new System.Windows.Forms.Label();
- this.ppBtnDeftDisAutoDuplx = new DevComponents.DotNetBar.ButtonX();
- this.ppLblAutoDuplexDefault = new System.Windows.Forms.Label();
- this.ppChbxDisAutoDuplex = new System.Windows.Forms.CheckBox();
this.ppBtnDefWatermark = new DevComponents.DotNetBar.ButtonX();
this.ppCmbxWatermark = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.ppLblWatermarkDefault = new System.Windows.Forms.Label();
@@ -712,52 +709,6 @@ namespace VEPROMS
this.label42.TabIndex = 6;
this.label42.Text = "Adjust Starting Position on Page (dots)";
//
- // ppBtnDeftDisAutoDuplx
- //
- this.ppBtnDeftDisAutoDuplx.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
- this.ppBtnDeftDisAutoDuplx.Location = new System.Drawing.Point(592, 30);
- this.ppBtnDeftDisAutoDuplx.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.ppBtnDeftDisAutoDuplx.Name = "ppBtnDeftDisAutoDuplx";
- this.ppBtnDeftDisAutoDuplx.Size = new System.Drawing.Size(59, 25);
- this.superTooltip1.SetSuperTooltip(this.ppBtnDeftDisAutoDuplx, new DevComponents.DotNetBar.SuperTooltipInfo("The Default Button", "", resources.GetString("ppBtnDeftDisAutoDuplx.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(255, 150)));
- this.ppBtnDeftDisAutoDuplx.TabIndex = 63;
- this.ppBtnDeftDisAutoDuplx.TabStop = false;
- this.ppBtnDeftDisAutoDuplx.Text = "Default";
- this.ppBtnDeftDisAutoDuplx.ThemeAware = true;
- this.ppBtnDeftDisAutoDuplx.Visible = false;
- this.ppBtnDeftDisAutoDuplx.Click += new System.EventHandler(this.ppBtnDeftDisAutoDuplx_Click);
- //
- // ppLblAutoDuplexDefault
- //
- this.ppLblAutoDuplexDefault.AutoSize = true;
- this.ppLblAutoDuplexDefault.BackColor = System.Drawing.Color.Transparent;
- this.ppLblAutoDuplexDefault.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.ppLblAutoDuplexDefault.ForeColor = System.Drawing.Color.Gray;
- this.ppLblAutoDuplexDefault.Location = new System.Drawing.Point(397, 54);
- this.ppLblAutoDuplexDefault.Name = "ppLblAutoDuplexDefault";
- this.ppLblAutoDuplexDefault.Size = new System.Drawing.Size(86, 17);
- this.superTooltip1.SetSuperTooltip(this.ppLblAutoDuplexDefault, new DevComponents.DotNetBar.SuperTooltipInfo("This is the Automatic Duplex default setting", "", "Pressing the Default Button (to the right)\r\nwill reset the Automatic Duplex setti" +
- "ng back\r\nto this default.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(0, 0)));
- this.ppLblAutoDuplexDefault.TabIndex = 62;
- this.ppLblAutoDuplexDefault.Text = "(default ON)";
- //
- // ppChbxDisAutoDuplex
- //
- this.ppChbxDisAutoDuplex.AutoSize = true;
- this.ppChbxDisAutoDuplex.BackColor = System.Drawing.Color.Transparent;
- this.ppChbxDisAutoDuplex.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.procedureConfigBindingSource, "Print_DisableDuplex", true));
- this.ppChbxDisAutoDuplex.Location = new System.Drawing.Point(377, 30);
- this.ppChbxDisAutoDuplex.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
- this.ppChbxDisAutoDuplex.Name = "ppChbxDisAutoDuplex";
- this.ppChbxDisAutoDuplex.Size = new System.Drawing.Size(209, 21);
- this.superTooltip1.SetSuperTooltip(this.ppChbxDisAutoDuplex, new DevComponents.DotNetBar.SuperTooltipInfo("Disable Automatic Duplex", "", "Checking this box will turn OFF the automatic duplexing used in some formats for " +
- "Foldout pages.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(0, 0)));
- this.ppChbxDisAutoDuplex.TabIndex = 61;
- this.ppChbxDisAutoDuplex.TabStop = false;
- this.ppChbxDisAutoDuplex.Text = "Disable Automatic Duplexing";
- this.ppChbxDisAutoDuplex.UseVisualStyleBackColor = false;
- this.ppChbxDisAutoDuplex.CheckedChanged += new System.EventHandler(this.ppChbxDisAutoDuplex_CheckedChanged);
- //
// ppBtnDefWatermark
//
this.ppBtnDefWatermark.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
@@ -1709,10 +1660,7 @@ namespace VEPROMS
// tcpOutputSettings
//
this.tcpOutputSettings.Controls.Add(this.ppGrpbxPrnAdj);
- this.tcpOutputSettings.Controls.Add(this.ppBtnDeftDisAutoDuplx);
this.tcpOutputSettings.Controls.Add(this.label18);
- this.tcpOutputSettings.Controls.Add(this.ppLblAutoDuplexDefault);
- this.tcpOutputSettings.Controls.Add(this.ppChbxDisAutoDuplex);
this.tcpOutputSettings.Controls.Add(this.ppLblWatermarkDefault);
this.tcpOutputSettings.Controls.Add(this.ppBtnDefWatermark);
this.tcpOutputSettings.Controls.Add(this.ppCmbxWatermark);
@@ -2056,9 +2004,6 @@ namespace VEPROMS
private DevComponents.DotNetBar.Controls.ComboBoxEx ppCmbxWatermark;
private System.Windows.Forms.Label ppLblWatermarkDefault;
private System.Windows.Forms.Label label18;
- private DevComponents.DotNetBar.ButtonX ppBtnDeftDisAutoDuplx;
- private System.Windows.Forms.Label ppLblAutoDuplexDefault;
- private System.Windows.Forms.CheckBox ppChbxDisAutoDuplex;
private System.Windows.Forms.NumericUpDown ppNumUpDwnOvrdPrnPenWidth;
private System.Windows.Forms.Label label39;
private System.Windows.Forms.Label label40;
diff --git a/PROMS/VEPROMS User Interface/frmProcedureProperties.cs b/PROMS/VEPROMS User Interface/frmProcedureProperties.cs
index 4f90856c..19d5958d 100644
--- a/PROMS/VEPROMS User Interface/frmProcedureProperties.cs
+++ b/PROMS/VEPROMS User Interface/frmProcedureProperties.cs
@@ -168,9 +168,6 @@ namespace VEPROMS
_DefaultFormatColumns = _ProcedureConfig.Format_Columns.ToString();
SetupDefault(EnumDescConverter.GetEnumDescription(_ProcedureConfig.Format_Columns), ppLblStpEditorColsDefault, ppCmbxStpEditorCols);
- // Get the default Disable Duplex
- _DefaultDisableDuplex = _ProcedureConfig.Print_DisableDuplex;
- ppLblAutoDuplexDefault.Text = string.Format("(Duplex {0})", (_DefaultDisableDuplex) ? "OFF" : "ON");
_ProcedureConfig.ParentLookup = false;
@@ -581,7 +578,6 @@ namespace VEPROMS
ppLblChgBarTxtTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxtTyp.Visible;
ppLblChgBarUserMsgOneDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt1.Visible;
ppLblChgBarUserMsgTwoDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt2.Visible;
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
}
///
@@ -741,14 +737,6 @@ namespace VEPROMS
//tcpOutputSettings.Focus();
}
- private void ppBtnDeftDisAutoDuplx_Click(object sender, EventArgs e)
- {
- ppChbxDisAutoDuplex.Checked = _DefaultDisableDuplex;
- _ProcedureConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = false;
- ppLblAutoDuplexDefault.Visible = false;
- //tcpOutputSettings.Focus();
- }
private void ppTxbxChangeBarUserMsgOne_TextChanged(object sender, EventArgs e)
{
@@ -764,17 +752,6 @@ namespace VEPROMS
//tcpOutputSettings.Focus();
}
- private void ppChbxDisAutoDuplex_CheckedChanged(object sender, EventArgs e)
- {
-
- if (!_Initializing)
- {
- _ProcedureConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = _DefaultDisableDuplex != ppChbxDisAutoDuplex.Checked;
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
- //tcpOutputSettings.Focus();
- }
- }
private void frmProcedureProperties_Shown(object sender, EventArgs e)
{
diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
index 009956d3..8548a650 100644
--- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
+++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
@@ -214,7 +214,7 @@ namespace VEPROMS
this.btnSendErrorLog,
this.btnShowErrFld,
this.btnShowPrtFld,
- this.btnHelpAbout}); ;
+ this.btnHelpAbout});
this.btnHelp.Text = "Help";
//
// btnHelpManual
@@ -1763,3 +1763,4 @@ namespace VEPROMS
}
}
+
diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs
index 3290cd6c..e6861d29 100644
--- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs
+++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs
@@ -254,6 +254,21 @@ namespace VEPROMS
tc.RefreshItem(myItemInfo);
}
+ public void tv_FolderDelete(int folderId)
+ {
+ // Create an instance of the event args if needed
+ var args = new vlnTreeFolderDeleteEventArgs(folderId);
+
+ // Trigger the deletion using the event arguments
+ tv.RemoveFolder(args.FolderId);
+
+ }
+ private bool Tv_DeleteFolder(object sender, vlnTreeFolderDeleteEventArgs args)
+ {
+ tv.RemoveFolder(args.FolderId);
+ return true;
+ }
+
private E_UCFImportOptions _UCFImportOptionsFromSettings;
public frmVEPROMS()
@@ -474,6 +489,7 @@ namespace VEPROMS
tv.NodeNew += new vlnTreeViewEvent(tv_NodeNew);
tv.OpenItem += new vlnTreeViewItemInfoEvent(tv_OpenItem);
tv.TabDisplay += new StepPanelTabDisplayEvent(tc_PanelTabDisplay);
+ tv.DeleteFolder += new vlnTreeViewItemInfoDeleteFolderEvent(Tv_DeleteFolder);
tv.DeleteItemInfo += new vlnTreeViewItemInfoDeleteEvent(tv_DeleteItemInfo);
tv.InsertItemInfo += new vlnTreeViewItemInfoInsertEvent(tv_InsertItemInfo);
tv.NodeInsert += new vlnTreeViewEvent(tv_NodeInsert);
@@ -2741,7 +2757,7 @@ namespace VEPROMS
void btnAdministrativeTools_Click(object sender, EventArgs e)
{
- frmBatchRefresh frm = new frmBatchRefresh(MySessionInfo);
+ frmBatchRefresh frm = new frmBatchRefresh(MySessionInfo, this);
frm.ProgressBar = bottomProgBar;
frm.ShowDialog(this);
}
diff --git a/PROMS/VEPROMS User Interface/frmVersionsProperties.Designer.cs b/PROMS/VEPROMS User Interface/frmVersionsProperties.Designer.cs
index cf799479..2d7606d6 100644
--- a/PROMS/VEPROMS User Interface/frmVersionsProperties.Designer.cs
+++ b/PROMS/VEPROMS User Interface/frmVersionsProperties.Designer.cs
@@ -76,14 +76,11 @@ namespace VEPROMS
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.ppBtnPDFLoc = new DevComponents.DotNetBar.ButtonX();
- this.ppBtnDeftDisAutoDuplx = new DevComponents.DotNetBar.ButtonX();
this.ppBtnDefWatermark = new DevComponents.DotNetBar.ButtonX();
this.ppCmbxWatermark = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.ppLblWatermarkDefault = new System.Windows.Forms.Label();
this.ppTxtBxPDFLoc = new System.Windows.Forms.TextBox();
this.label18 = new System.Windows.Forms.Label();
- this.ppLblAutoDuplexDefault = new System.Windows.Forms.Label();
- this.ppChbxDisAutoDuplex = new System.Windows.Forms.CheckBox();
this.label17 = new System.Windows.Forms.Label();
this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
this.ppCbShwDefSettings = new DevComponents.DotNetBar.Controls.CheckBoxX();
@@ -806,19 +803,6 @@ namespace VEPROMS
this.ppBtnPDFLoc.TabIndex = 31;
this.ppBtnPDFLoc.Click += new System.EventHandler(this.ppBtnPDFLoc_Click);
//
- // ppBtnDeftDisAutoDuplx
- //
- this.ppBtnDeftDisAutoDuplx.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
- this.ppBtnDeftDisAutoDuplx.Location = new System.Drawing.Point(434, 60);
- this.ppBtnDeftDisAutoDuplx.Margin = new System.Windows.Forms.Padding(2);
- this.ppBtnDeftDisAutoDuplx.Name = "ppBtnDeftDisAutoDuplx";
- this.ppBtnDeftDisAutoDuplx.Size = new System.Drawing.Size(44, 20);
- this.superTooltip1.SetSuperTooltip(this.ppBtnDeftDisAutoDuplx, new DevComponents.DotNetBar.SuperTooltipInfo("The Default Button", "", resources.GetString("ppBtnDeftDisAutoDuplx.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(255, 150)));
- this.ppBtnDeftDisAutoDuplx.TabIndex = 35;
- this.ppBtnDeftDisAutoDuplx.Text = "Default";
- this.ppBtnDeftDisAutoDuplx.ThemeAware = true;
- this.ppBtnDeftDisAutoDuplx.Click += new System.EventHandler(this.ppBtnDeftDisAutoDuplx_Click);
- //
// ppBtnDefWatermark
//
this.ppBtnDefWatermark.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
@@ -887,37 +871,6 @@ namespace VEPROMS
this.label18.TabIndex = 54;
this.label18.Text = "PDF Location";
//
- // ppLblAutoDuplexDefault
- //
- this.ppLblAutoDuplexDefault.AutoSize = true;
- this.ppLblAutoDuplexDefault.BackColor = System.Drawing.Color.Transparent;
- this.ppLblAutoDuplexDefault.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.ppLblAutoDuplexDefault.ForeColor = System.Drawing.Color.Gray;
- this.ppLblAutoDuplexDefault.Location = new System.Drawing.Point(286, 80);
- this.ppLblAutoDuplexDefault.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.ppLblAutoDuplexDefault.Name = "ppLblAutoDuplexDefault";
- this.ppLblAutoDuplexDefault.Size = new System.Drawing.Size(64, 13);
- this.superTooltip1.SetSuperTooltip(this.ppLblAutoDuplexDefault, new DevComponents.DotNetBar.SuperTooltipInfo("This is the Automatic Duplex default setting", "", "Pressing the Default Button (to the right)\r\nwill reset the Automatic Duplex setti" +
- "ng back\r\nto this default.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(0, 0)));
- this.ppLblAutoDuplexDefault.TabIndex = 53;
- this.ppLblAutoDuplexDefault.Text = "(default ON)";
- //
- // ppChbxDisAutoDuplex
- //
- this.ppChbxDisAutoDuplex.AutoSize = true;
- this.ppChbxDisAutoDuplex.BackColor = System.Drawing.Color.Transparent;
- this.ppChbxDisAutoDuplex.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.docVersionConfigBindingSource, "Print_DisableDuplex", true));
- this.ppChbxDisAutoDuplex.Location = new System.Drawing.Point(272, 60);
- this.ppChbxDisAutoDuplex.Margin = new System.Windows.Forms.Padding(2);
- this.ppChbxDisAutoDuplex.Name = "ppChbxDisAutoDuplex";
- this.ppChbxDisAutoDuplex.Size = new System.Drawing.Size(161, 17);
- this.superTooltip1.SetSuperTooltip(this.ppChbxDisAutoDuplex, new DevComponents.DotNetBar.SuperTooltipInfo("Disable Automatic Duplex", "", "Checking this box will turn OFF the automatic duplexing used in some formats for " +
- "Foldout pages.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(0, 0)));
- this.ppChbxDisAutoDuplex.TabIndex = 34;
- this.ppChbxDisAutoDuplex.Text = "Disable Automatic Duplexing";
- this.ppChbxDisAutoDuplex.UseVisualStyleBackColor = false;
- this.ppChbxDisAutoDuplex.CheckedChanged += new System.EventHandler(this.ppChbxDisAutoDuplex_CheckedChanged);
- //
// label17
//
this.label17.AutoSize = true;
@@ -2419,10 +2372,7 @@ namespace VEPROMS
this.tcpOutputSettings.Controls.Add(this.ppBtnPDFLoc);
this.tcpOutputSettings.Controls.Add(this.ppChbxAlwaysOvrWrtPDF);
this.tcpOutputSettings.Controls.Add(this.label17);
- this.tcpOutputSettings.Controls.Add(this.ppBtnDeftDisAutoDuplx);
this.tcpOutputSettings.Controls.Add(this.ppBtnDefWatermark);
- this.tcpOutputSettings.Controls.Add(this.ppChbxDisAutoDuplex);
- this.tcpOutputSettings.Controls.Add(this.ppLblAutoDuplexDefault);
this.tcpOutputSettings.Controls.Add(this.ppCmbxWatermark);
this.tcpOutputSettings.Controls.Add(this.ppLblWatermarkDefault);
this.tcpOutputSettings.DisabledBackColor = System.Drawing.Color.Empty;
@@ -2905,8 +2855,6 @@ namespace VEPROMS
private System.Windows.Forms.Label label17;
private System.Windows.Forms.TextBox ppTxtBxPDFLoc;
private System.Windows.Forms.Label label18;
- private System.Windows.Forms.Label ppLblAutoDuplexDefault;
- private System.Windows.Forms.CheckBox ppChbxDisAutoDuplex;
private System.Windows.Forms.Label ppLblFormatDefault;
private DevComponents.DotNetBar.SuperTooltip superTooltip1;
private System.Windows.Forms.Label ppLblWatermarkDefault;
@@ -2928,7 +2876,6 @@ namespace VEPROMS
private System.Windows.Forms.Label ppLblDefSettingsInfo;
private DevComponents.DotNetBar.Controls.CheckBoxX ppCbShwDefSettings;
private DevComponents.DotNetBar.ButtonX ppBtnDefWatermark;
- private DevComponents.DotNetBar.ButtonX ppBtnDeftDisAutoDuplx;
private DevComponents.DotNetBar.ButtonX ppBtnPDFLoc;
private DevComponents.DotNetBar.ButtonX ppBtnDefaultChgBar;
private DevComponents.DotNetBar.ButtonX ppBtnDefCbTxt1;
diff --git a/PROMS/VEPROMS User Interface/frmVersionsProperties.cs b/PROMS/VEPROMS User Interface/frmVersionsProperties.cs
index b0aa638f..8e3671cb 100644
--- a/PROMS/VEPROMS User Interface/frmVersionsProperties.cs
+++ b/PROMS/VEPROMS User Interface/frmVersionsProperties.cs
@@ -275,23 +275,6 @@ namespace VEPROMS
// only allow update if association, and the RO update was not done and/or not completed
ppBtnUpRoVals.Enabled = !_DocVersionConfig.MyDocVersion.ROfstLastCompleted || _DocVersionConfig.MyDocVersion.NewerRoFst;
- // Set the auto duplex controls based on whether the format allows this:
- // Note that the controls' visibility would not set correctly using the following two lines of code. That
- // is why the more explicit logic was done.
- //ppChbxDisAutoDuplex.Visible = _DocVersionConfig.MyDocVersion.MyFormat.PlantFormat.FormatData.PrintData.AllowDuplex;
- //ppLblAutoDuplexDefault.Visible = ppBtnDeftDisAutoDuplx.Visible = ppLblAutoDuplexDefault.Visible;
- if (_DocVersionConfig.MyDocVersion.MyFormat != null && _DocVersionConfig.MyDocVersion.MyFormat.PlantFormat.FormatData.PrintData.AllowDuplex)
- {
- ppChbxDisAutoDuplex.Visible = true;
- ppLblAutoDuplexDefault.Visible = true;
- ppBtnDeftDisAutoDuplx.Visible = true;
- }
- else
- {
- ppChbxDisAutoDuplex.Visible = false;
- ppLblAutoDuplexDefault.Visible = false;
- ppBtnDeftDisAutoDuplx.Visible = false;
- }
//add new applicability stuff
if (_DocVersionConfig.Unit_Count > 0)
@@ -886,9 +869,6 @@ namespace VEPROMS
_DefaultWatermark = _DocVersionConfig.Print_Watermark.ToString();
SetupDefault(EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_Watermark), ppLblWatermarkDefault, ppCmbxWatermark);
- // Get the default Disable Duplex
- _DefaultDisableDuplex = _DocVersionConfig.Print_DisableDuplex;
- ppLblAutoDuplexDefault.Text = string.Format("(Duplex {0})", (_DefaultDisableDuplex) ? "OFF" : "ON");
_DocVersionConfig.ParentLookup = false;
}
@@ -1094,13 +1074,6 @@ namespace VEPROMS
}
}
- private void ppBtnDeftDisAutoDuplx_Click(object sender, EventArgs e)
- {
- ppChbxDisAutoDuplex.Checked = _DefaultDisableDuplex;
- _DocVersionConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = false;
- ppLblAutoDuplexDefault.Visible = false;
- }
private void frmVersionsProperties_Shown(object sender, EventArgs e)
{
@@ -1636,21 +1609,6 @@ namespace VEPROMS
ppCmbxFormat.SelectedIndex = -1;
}
- ///
- /// If checked, will disable automatic duplexing (ex Foldout Pages)
- ///
- ///
- ///
- private void ppChbxDisAutoDuplex_CheckedChanged(object sender, EventArgs e)
- {
- if (!_Initializing)
- {
- _DocVersionConfig.Print_DisableDuplex = ppChbxDisAutoDuplex.Checked;
- ppBtnDeftDisAutoDuplx.Visible = (_DefaultDisableDuplex != ppChbxDisAutoDuplex.Checked);
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
- }
-
- }
///
/// Enable or disable the user specified change bar options base on the type
@@ -1834,7 +1792,6 @@ namespace VEPROMS
ppLblChgBarTxtTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxtTyp.Visible;
//ppLblPaginationDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefPagination.Visible;
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
- ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
}
///
diff --git a/PROMS/VEPROMS.CSLA.Library/Config/DocVersionConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/DocVersionConfig.cs
index 9a2f75b6..b2797317 100644
--- a/PROMS/VEPROMS.CSLA.Library/Config/DocVersionConfig.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Config/DocVersionConfig.cs
@@ -545,44 +545,8 @@ namespace VEPROMS.CSLA.Library
OnPropertyChanged("Print_Watermark");
}
}
- [Category("Print Settings")]
- [DisplayName("Disable Automatic Duplexing")]
- [RefreshProperties(RefreshProperties.All)]
- [Description("Disable Duplex Printing")]
- public bool Print_DisableDuplex
- {
- get
- {
- string s = _Xp["PrintSettings", "disableduplex"];
- //If there is no value to get, then get the parent value (a.k.a. default value).
- if (s == string.Empty)
- s = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
- // If there is no parent value, then use the volian default
- if (s == string.Empty)
- s = "false";// default to volian default
-
- return bool.Parse(s);
- }
- set
- {
- // if value being saved is same as the parent value, then clear the value (save blank). This will
- // reset the data to use the parent value.
-
- string parval = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
-
- if (parval.Equals(string.Empty)) // if the parent value is empty, then use the volian default
- parval = "false";
-
- if (parval.Equals(value.ToString()))
- _Xp["PrintSettings", "disableduplex"] = string.Empty; // reset to parent value
- else
- _Xp["PrintSettings", "disableduplex"] = value.ToString(); // save selected value
-
- OnPropertyChanged("Print_DisableDuplex");
- }
- }
- // C2019-004: Allow user to define duplex lank page text at the docversion level
+ // C2019-004: Allow user to define duplex blank page text at the docversion level
[Category("Print Settings")]
[DisplayName("Duplex Blank Page Text")]
[RefreshProperties(RefreshProperties.All)]
diff --git a/PROMS/VEPROMS.CSLA.Library/Config/FolderConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/FolderConfig.cs
index 75abf38e..940b84d4 100644
--- a/PROMS/VEPROMS.CSLA.Library/Config/FolderConfig.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Config/FolderConfig.cs
@@ -812,43 +812,6 @@ namespace VEPROMS.CSLA.Library
OnPropertyChanged("Print_Watermark");
}
}
- [Category("Print Settings")]
- [DisplayName("Disable Automatic Duplexing")]
- [RefreshProperties(RefreshProperties.All)]
- [Description("Disable Duplex Printing")]
- public bool Print_DisableDuplex
- {
- get
- {
- string s = _Xp["PrintSettings", "disableduplex"];
-
- //If there is no value to get, then get the parent value (a.k.a. default value).
- if (s == string.Empty)
- s = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
- // If there is no parent value, then use the volian default
- if (s == string.Empty)
- s = "false";// default to volian default
-
- return bool.Parse(s);
- }
- set
- {
- // if value being saved is same as the parent value, then clear the value (save blank). This will
- // reset the data to use the parent value.
-
- string parval = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
-
- if (parval.Equals(string.Empty)) // if the parent value is empty, then use the volian default
- parval = "False";
-
- if (parval.Equals(value.ToString()))
- _Xp["PrintSettings", "disableduplex"] = string.Empty; // reset to parent value
- else
- _Xp["PrintSettings", "disableduplex"] = value.ToString(); // save selected value
-
- OnPropertyChanged("Print_DisableDuplex");
- }
- }
// Change Bar Use from 16-bit code:
// No Default
// Without Change Bars
diff --git a/PROMS/VEPROMS.CSLA.Library/Config/ProcConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/ProcConfig.cs
index adb5dd7b..d3a5468f 100644
--- a/PROMS/VEPROMS.CSLA.Library/Config/ProcConfig.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Config/ProcConfig.cs
@@ -607,43 +607,6 @@ namespace VEPROMS.CSLA.Library
}
}
[Category("Print Settings")]
- [DisplayName("Disable Automatic Duplexing")]
- [RefreshProperties(RefreshProperties.All)]
- [Description("Disable Duplex Printing")]
- public bool Print_DisableDuplex
- {
- get
- {
- string s = _Xp["PrintSettings", "disableduplex"];
-
- //If there is no value to get, then get the parent value (a.k.a. default value).
- if (s == string.Empty)
- s = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
- // If there is no parent value, then use the volian default
- if (s == string.Empty)
- s = "false";// default to volian default
-
- return bool.Parse(s);
- }
- set
- {
- // if value being saved is same as the parent value, then clear the value (save blank). This will
- // reset the data to use the parent value.
-
- string parval = _Xp.ParentValue("PrintSettings", "disableduplex"); // get the parent value
-
- if (parval.Equals(string.Empty)) // if the parent value is empty, then use the volian default
- parval = "false";
-
- if (parval.Equals(value.ToString()))
- _Xp["PrintSettings", "disableduplex"] = string.Empty; // reset to parent value
- else
- _Xp["PrintSettings", "disableduplex"] = value.ToString(); // save selected value
-
- OnPropertyChanged("Print_DisableDuplex");
- }
- }
- [Category("Print Settings")]
[DisplayName("Print All Not In Merge Pdfs")]
[RefreshProperties(RefreshProperties.All)]
[Description("Print All Do Not Include In Merge Pdfs")]
diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs
index e6979784..6b116fec 100644
--- a/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs
@@ -225,6 +225,86 @@ namespace VEPROMS.CSLA.Library
throw new DbCslaException("Error on Annotation.Delete", ex);
}
}
+
+ public static void DeleteAnnotationProcByType(int typID, string procList)
+ {
+ if (!CanDeleteObject())
+ throw new System.Security.SecurityException("User not authorized to remove a Annotation");
+ try
+ {
+ DataPortal.Delete(new DeleteAnnotationProcByTypeCriteria(typID, procList));
+ AnnotationInfo.StaticOnInfoChanged();
+ }
+ catch (Exception ex)
+ {
+ System.Data.SqlClient.SqlException exSQL = SqlException(ex);
+ if (exSQL != null && exSQL.Message.Contains("###Cannot Delete Item###"))
+ throw exSQL;
+ Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace);
+ throw new DbCslaException("Error on Annotation.Delete", ex);
+ }
+ }
+
+ public static void DeleteAnnotationDocvByType(int typID, string versionID)
+ {
+ if (!CanDeleteObject())
+ throw new System.Security.SecurityException("User not authorized to remove a Annotation");
+ try
+ {
+ DataPortal.Delete(new DeleteAnnotationDocvByTypeCriteria(typID, versionID));
+ AnnotationInfo.StaticOnInfoChanged();
+ }
+ catch (Exception ex)
+ {
+ System.Data.SqlClient.SqlException exSQL = SqlException(ex);
+ if (exSQL != null && exSQL.Message.Contains("###Cannot Delete Item###"))
+ throw exSQL;
+ Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace);
+ throw new DbCslaException("Error on Annotation.Delete", ex);
+ }
+ }
+
+ public static int getAnnotationProcCnt(int typID, string procList)
+ {
+ if (!CanGetObject())
+ throw new System.Security.SecurityException("User not authorized to remove a Annotation");
+ try
+ {
+ Annotation ProcCnt = DataPortal.Fetch(new getAnnotationCountProcCriteria(typID, procList));
+ AnnotationInfo.StaticOnInfoChanged();
+ return Annotation.ProcCnt;
+ //return Int32.Parse(ProcCnt);
+ }
+ catch (Exception ex)
+ {
+ System.Data.SqlClient.SqlException exSQL = SqlException(ex);
+ if (exSQL != null && exSQL.Message.Contains("###Cannot retrieve Item###"))
+ throw exSQL;
+ Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace);
+ throw new DbCslaException("Error on getAnnotationCountProcCriteria", ex);
+ }
+ }
+
+ public static int getAnnotationCountDocv(int typID, string procList)
+ {
+ if (!CanGetObject())
+ throw new System.Security.SecurityException("User not authorized to remove a Annotation");
+ try
+ {
+ Annotation DocvCnt = DataPortal.Fetch(new getAnnotationCountDocvCriteria(typID, procList));
+ AnnotationInfo.StaticOnInfoChanged();
+ return Annotation.DocvCnt;
+ }
+ catch (Exception ex)
+ {
+ System.Data.SqlClient.SqlException exSQL = SqlException(ex);
+ if (exSQL != null && exSQL.Message.Contains("###Cannot retrieve Item###"))
+ throw exSQL;
+ Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace);
+ throw new DbCslaException("Error on getAnnotationCountDocvCriteria", ex);
+ }
+ }
+
private static System.Data.SqlClient.SqlException SqlException(Exception ex)
{
Type sqlExType = typeof(System.Data.SqlClient.SqlException);
@@ -280,12 +360,209 @@ namespace VEPROMS.CSLA.Library
throw new DbCslaException("Item.DataPortal_Delete", ex);
}
}
+
+ [Serializable()]
+ protected class DeleteAnnotationProcByTypeCriteria
+ {
+ private int _typeID;
+ public int TypeID
+ { get { return _typeID; } }
+
+ private string _procList;
+ public string ProcList
+ { get { return _procList; } }
+ public DeleteAnnotationProcByTypeCriteria(int typeID, string procList)
+ {
+ _typeID = typeID;
+ _procList = procList;
+ }
+ }
+ [Transactional(TransactionalTypes.TransactionScope)]
+ private void DataPortal_Delete(DeleteAnnotationProcByTypeCriteria criteria)
+ {
+ if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Item.DataPortal_Delete", GetHashCode());
+ try
+ {
+ using (SqlConnection cn = Database.VEPROMS_SqlConnection)
+ {
+ using (SqlCommand cm = cn.CreateCommand())
+ {
+ cm.CommandType = CommandType.StoredProcedure;
+ cm.CommandTimeout = Database.SQLTimeout;
+ cm.CommandText = "deleteAnnotationsProcByType";
+ cm.Parameters.AddWithValue("@typeid", criteria.TypeID);
+ cm.Parameters.AddWithValue("@procList", criteria.ProcList);
+ cm.ExecuteNonQuery();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ if (_MyLog.IsErrorEnabled) _MyLog.Error("Item.DataPortal_Delete", ex);
+ _ErrorMessage = ex.Message;
+ throw new DbCslaException("Item.DataPortal_Delete Annotations by group", ex);
+ }
+ }
+
+ [Serializable()]
+ protected class DeleteAnnotationDocvByTypeCriteria
+ {
+ private int _typeID;
+ public int TypeID
+ { get { return _typeID; } }
+
+ private string _versionID;
+ public string VersionID
+ { get { return _versionID; } }
+ public DeleteAnnotationDocvByTypeCriteria(int typeID, string versionID)
+ {
+ _typeID = typeID;
+ _versionID = versionID;
+ }
+ }
+ [Transactional(TransactionalTypes.TransactionScope)]
+ private void DataPortal_Delete(DeleteAnnotationDocvByTypeCriteria criteria)
+ {
+ if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Delete Annotations by Type Docv", GetHashCode());
+ try
+ {
+ using (SqlConnection cn = Database.VEPROMS_SqlConnection)
+ {
+ using (SqlCommand cm = cn.CreateCommand())
+ {
+ cm.CommandType = CommandType.StoredProcedure;
+ cm.CommandTimeout = Database.SQLTimeout;
+ cm.CommandText = "deleteAnnotationsDocvByType";
+ cm.Parameters.AddWithValue("@typeid", criteria.TypeID);
+ cm.Parameters.AddWithValue("@docvList", criteria.VersionID);
+ cm.ExecuteNonQuery();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ if (_MyLog.IsErrorEnabled) _MyLog.Error("Item.DataPortal_Delete", ex);
+ _ErrorMessage = ex.Message;
+ throw new DbCslaException("Item.DataPortal_Delete Annotations by type Docv", ex);
+ }
+ }
+
+ private static int _procCnt;
+ public static int ProcCnt
+ {
+ get { return _procCnt; }
+ set { _procCnt = value; }
+ }
+
+ [Serializable()]
+ protected class getAnnotationCountProcCriteria
+ {
+ private int _procCnt;
+ public int ProcCnt
+ { get { return _procCnt; }
+ set { _procCnt = value; }
+ }
+ private int _typeID;
+ public int TypeID
+ { get { return _typeID; } }
+ private string _procList;
+ public string ProcList
+ { get { return _procList; } }
+ public getAnnotationCountProcCriteria(int typeID, string procList, int procCnt = 0)
+ {
+ _typeID = typeID;
+ _procList = procList;
+ _procCnt = procCnt;
+ }
+ }
+
+ [Transactional(TransactionalTypes.TransactionScope)]
+ private getAnnotationCountProcCriteria DataPortal_Fetch(getAnnotationCountProcCriteria criteria)
+ {
+ if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Item.DataPortal_Fetch", GetHashCode());
+ try
+ {
+ //int ProcCnt;
+ using (SqlConnection cn = Database.VEPROMS_SqlConnection)
+ {
+ using (SqlCommand cm = cn.CreateCommand())
+ {
+ cm.CommandType = CommandType.StoredProcedure;
+ cm.CommandTimeout = Database.SQLTimeout;
+ cm.CommandText = "getAnnotationProcCount";
+ cm.Parameters.AddWithValue("@procList", criteria.ProcList);
+ cm.Parameters.AddWithValue("@typeid", criteria.TypeID);
+ Annotation.ProcCnt = (int)cm.ExecuteScalar();
+
+ }
+ }
+ return criteria; //_procCnt.ToString();
+ }
+ catch (Exception ex)
+ {
+ if (_MyLog.IsErrorEnabled) _MyLog.Error("Annotation.GetAnnotationProcCnt", ex);
+ _ErrorMessage = ex.Message;
+ throw new DbCslaException("Annotation.GetAnnotationProcCnt by group", ex);
+ }
+ }
+
+ private static int _docvCnt;
+ public static int DocvCnt
+ { get { return _docvCnt; }
+ set { _docvCnt = value; }
+ }
+
+ [Serializable()]
+ protected class getAnnotationCountDocvCriteria
+ {
+ private int _docvCnt;
+ public int DocvCnt
+ { get { return _docvCnt; }
+ set { _docvCnt = value; }
+ }
+ private int _TypeID;
+ public int TypeID
+ { get { return _TypeID; } }
+ private string _docvList;
+ public string DocvList
+ { get { return _docvList; } }
+ public getAnnotationCountDocvCriteria(int typeID, string docvList, int docvCnt = 0)
+ {
+ _TypeID = typeID;
+ _docvList = docvList;
+ _docvCnt = docvCnt;
+ }
+ }
+
+ [Transactional(TransactionalTypes.TransactionScope)]
+ private getAnnotationCountDocvCriteria DataPortal_Fetch(getAnnotationCountDocvCriteria criteria)
+ {
+ if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Annotation.DataPortal_Fetch", GetHashCode());
+ try
+ {
+ //int ProcCnt;
+ using (SqlConnection cn = Database.VEPROMS_SqlConnection)
+ {
+ using (SqlCommand cm = cn.CreateCommand())
+ {
+ cm.CommandType = CommandType.StoredProcedure;
+ cm.CommandTimeout = Database.SQLTimeout;
+ cm.CommandText = "getAnnotationDocvCount";
+ cm.Parameters.AddWithValue("@typeid", criteria.TypeID);
+ cm.Parameters.AddWithValue("@DocvList", criteria.DocvList);
+ Annotation.DocvCnt = (int)cm.ExecuteScalar();
+ }
+ return criteria;
+ }
+ }
+ catch (Exception ex)
+ {
+ if (_MyLog.IsErrorEnabled) _MyLog.Error("Item.DataPortal_Delete", ex);
+ _ErrorMessage = ex.Message;
+ throw new DbCslaException("Item.DataPortal_Delete Annotations by group", ex);
+ }
+ }
}
- //public partial class AnnotationTypeAnnotations
- //{
- // public static int GetAnnotationID()
- // {
- // return AnnotationTypeAnnotat
- // }
- //}
}
+
+
diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs
index ca204abb..eae5674d 100644
--- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs
@@ -1481,9 +1481,6 @@ namespace VEPROMS.CSLA.Library
int firstInc = item.ActiveFormat.MyStepSectionLayoutData.PaginateOnFirstSubstep ? 0 : 1;
ItemInfo parent = item.ActiveParent as ItemInfo;
- // TODO: Format flag 'TreatAsSequential':
- // The following needs to account for use of format flag 'TreatAsSequential' when doing
- // formats that have it.
if (item.IsExactType("And") || item.IsExactType("Or") || item.IsExactType("ImplicitOr"))
level++;
//if (item.ParentAndOr)
@@ -3392,6 +3389,9 @@ namespace VEPROMS.CSLA.Library
return retval;
}
+ // used in some background document formats - all appear to be set on a Caution type.
+ // This will place the text of this type (caution) on the same row (of the page) and to the left of its parent.
+ // Is also used as a step designatior for Commanche Peak
public bool SameRowAsParent
{
get
@@ -4621,7 +4621,6 @@ namespace VEPROMS.CSLA.Library
tbformat = tbformat.Replace("{ROMAN}", roman);
tbformat = tbformat.Substring(0, tbformat.Length - ((roman.Length - 1) > 0 ? (roman.Length - 1) : 0));
}
- if (ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.VirtualDotInHLSTab && tbformat.Contains("numeric") & ordinal > 9) _MyTab.AdjustTabSpace = true;
if (tbformat.Contains("{numeric}") && ((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002)
{
tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0");
@@ -4963,7 +4962,7 @@ namespace VEPROMS.CSLA.Library
&& (LastRNO != null) && LastRNO.IsHigh && LastRNO.HasChildren
&& LastRNO.FirstChild(E_FromType.Step) != null && LastRNO.FirstChild(E_FromType.Step).IsSequential)
{
- level++; // 16bit has this: I didn't and mine worked most of time.
+ level++;
if (ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ImperfectStructurePlus4) level += 2;
if (ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ImperfectSubstep && !ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ImperfectStructurePlus4)
PrintBias = -1;
@@ -5891,12 +5890,6 @@ namespace VEPROMS.CSLA.Library
get { return _RemovedStyleUnderline; }
set { _RemovedStyleUnderline = value; }
}
- private bool _AdjustTabSpace = false;
- public bool AdjustTabSpace
- {
- get { return _AdjustTabSpace; }
- set { _AdjustTabSpace = value; }
- }
public Tab(VE_Font font)
{
MyFont = font;
diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs
index 34b307ee..555dd6d3 100644
--- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs
@@ -951,7 +951,10 @@ namespace VEPROMS.CSLA.Library
// it is pasted into a section without enhanced data, then clear it.
// config data can only be on hls/notes/cautions for pasted steps.
- if (!pasteItem.IsHigh && !pasteItem.IsCaution && !pasteItem.IsNote) return;
+ // B2024-059: clear links on a source section. When a paste occurs, the section is copied with the links but not
+ // new section is created in the enhanced document, so the links point to the original section (copied). These
+ // need to be removed.
+ if (!pasteItem.IsHigh && !pasteItem.IsCaution && !pasteItem.IsNote && !pasteItem.IsSection) return;
// See if the pasted step's section is enhanced with enhanced steps, and if not, clear it
// Also, if pasting into a source section, don't clear (B2017-225), the 'isSourceSection' portion of the code.
@@ -974,6 +977,12 @@ namespace VEPROMS.CSLA.Library
// of the pasted step.
if (pasteItem.HasEnhancedLinkedStep) pasteItem.RemoveEnhancedFromConfig();
}
+ // B2024-059: clear links on a source section
+ if (isSourceSection)
+ {
+ EnhancedDocuments seleds = pasteItem.GetMyEnhancedDocuments();
+ foreach (EnhancedDocument ed in seleds) pasteItem.DoUnlinkEnhanced(pasteItem, ed.Type, true);
+ }
}
#endregion
#region Insert Child
@@ -2497,9 +2506,11 @@ namespace VEPROMS.CSLA.Library
}
#endregion
#region PasteReplace
+ // B2024-045, 049 and 050: remove the treenode that was passed in - adjust tree from user interface code, not in item extension
+ // code (the 2 PasteReplace methods here had a treenode passed in)
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid)
{
- bool tmp= false;
+ bool tmp = false;
return PasteReplace(itemInfo, copyStartID, chgid, ref tmp);
}
// B2017-179 return a bool (firstTrans) if we could not replace the step but the user wants to position to the first transition that needs resolved
@@ -2543,6 +2554,7 @@ namespace VEPROMS.CSLA.Library
newItemInfo.UpdateTransitionText();
newItemInfo.UpdateROText();
newItemInfo.UpdatePastedStepTransitionText();
+
// Add to tree
if (newItemInfo.NextItem != null)
{
@@ -2560,7 +2572,11 @@ namespace VEPROMS.CSLA.Library
}
else
{
- newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
+ // B2024-045, 049 and 050: if not a single procedure replace, update user interface by using the 'OnNewChild'. Single
+ // procedure's MyParent is null because its parent is a working draft (docversion) since MyParent's type is iteminfo.
+ // For the single procedure case, the user interface code in vlntreeview will update the tree.
+ if (newItemInfo.MyParent != null)
+ newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
}
return newItemInfo;
}
diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/MultiUserExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/MultiUserExt.cs
index c1f64bc3..d9072509 100644
--- a/PROMS/VEPROMS.CSLA.Library/Extension/MultiUserExt.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Extension/MultiUserExt.cs
@@ -1107,7 +1107,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
foreach (AssignmentInfo ai in mi.MyGroup.GroupAssignments)
{
@@ -1129,7 +1129,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
Dictionary folders = new Dictionary();
//FolderInfo fi = FolderInfo.Get(dv.MyFolder.FolderID);
@@ -1157,7 +1157,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
Dictionary folders = new Dictionary();
FolderInfo fi = FolderInfo.Get(dv.MyFolder.FolderID);
@@ -1184,7 +1184,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
Dictionary folders = new Dictionary();
FolderInfo fi = FolderInfo.Get(dv.MyFolder.FolderID);
@@ -1211,7 +1211,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
Dictionary folders = new Dictionary();
FolderInfo fi = FolderInfo.Get(dv.MyFolder.FolderID);
@@ -1238,7 +1238,7 @@ namespace VEPROMS.CSLA.Library
foreach (MembershipInfo mi in this.UserMemberships)
{
- if (mi.EndDate == string.Empty)
+ if (mi.EndDate == string.Empty && mi.MyGroup.GroupAssignments != null) //B2024-051 added null check - user assigned to non-existing procedure set
{
Dictionary folders = new Dictionary();
FolderInfo fi = FolderInfo.Get(dv.MyFolder.FolderID);
diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs
index 15a2d82c..eb2a7849 100644
--- a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs
@@ -962,7 +962,6 @@ namespace VEPROMS.CSLA.Library
return myReturn;
}
- // TODO: For hlp: LowerCaseTranNumber - lower case substep numbers in transitions
private static bool AddTransitionProcNum(TransitionBuilder tb) // Coded for HLP
{
string retstr = tb._ToItem.MyProcedure.MyContent.Number;
diff --git a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs
index 2c85aa55..52947440 100644
--- a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs
@@ -11,6 +11,7 @@ namespace VEPROMS.CSLA.Library
public class DocStyles : vlnFormatItem
{
[Description("Document Styles Name")]
+ //Not used in the PROMS code. Only used as a title for the DocStyles grouping
private LazyLoad _Name;
public string Name
{
@@ -65,6 +66,7 @@ namespace VEPROMS.CSLA.Library
public DocStyle(XmlNode xmlNode) : base(xmlNode) { }
public DocStyle() : base() { }
#region IndexName
+ // a unuque number that is use in the SQL record to referenced the DocStyle for a seciton
private LazyLoad _Index;
public int? Index
{
@@ -74,6 +76,7 @@ namespace VEPROMS.CSLA.Library
}
}
[Description("Document Styles Name")]
+ // Use in the lists that display the name of a seciton format style (Section Properties)
private LazyLoad _Name;
public string Name
{
@@ -84,6 +87,7 @@ namespace VEPROMS.CSLA.Library
}
#endregion
#region Font
+ // the font to use for the section
private VE_Font _Font;
[Category("Font")]
[DisplayName("Font")]
@@ -101,7 +105,9 @@ namespace VEPROMS.CSLA.Library
// This will adjust the top margin when the section title is not printed on the other pages. (CreateStepPDF() in PromsPrinter.cs)
[Category("Miscellaneous")]
[Description("AdjustTopMarginOnStepContinuePages")]
- private LazyLoad _AdjustTopMarginOnStepContinuePages;
+
+ // used with the "PSOnlyFirst" in pagelist so that a section title is printed only on the first page of the section. This will adjust the top margin when the section title is not printed on the other pages.
+ private LazyLoad _AdjustTopMarginOnStepContinuePages;
public int AdjustTopMarginOnStepContinuePages
{
get
@@ -115,6 +121,9 @@ namespace VEPROMS.CSLA.Library
#region numberingsequence
[Category("Miscellaneous")]
[Description("Numbering Sequence")]
+ // defines how the page numbers are counted (i.e. count with procedure,
+ // count just within this section, don't count, etc).
+ // - see E_NumberingSequence in Enum.cs
private LazyLoad _NumberingSequence;
public E_NumberingSequence? NumberingSequence
{
@@ -123,10 +132,12 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NumberingSequence, "@NumberingSequence");
}
}
- #endregion
+ #endregion numberingsequence
+
#region IndexOtherThanFirstPage
[Category("Miscellaneous")]
[Description("IndexOtherThanFirstPage")]
+ // references the DocStyle to use for pages two through the last page of the section. this is used along with the "Where" setting "UseOnFirstPage"
private LazyLoad _IndexOtherThanFirstPage;
public int? IndexOtherThanFirstPage
{
@@ -135,7 +146,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _IndexOtherThanFirstPage, "@IndexOtherThanFirstPage");
}
}
- #endregion
+ #endregion IndexOtherThanFirstPage
+
#region SecOvrideSupInfoTabOff
// This overrides the tab position of the Supplemental Information steps at the section level
// This will also override the overall supplemental Information tab adjustment set at the format level (SupInfoTabOff)
@@ -149,10 +161,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SecOvrideSupInfoTabOff, "@SecOvrideSupInfoTabOff");
}
}
- #endregion
+ #endregion SecOvrideSupInfoTabOff
+
#region IsStepSection
[Category("Miscellaneous")]
[Description("Is a Step Section")]
+
+ // When set to True, the section uses the PROMS Step editor, when set to False, Word is used to edit the section contents
private LazyLoad _IsStepSection;
public bool IsStepSection
{
@@ -161,10 +176,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _IsStepSection, "@IsStepSection");
}
}
- #endregion
+ #endregion IsStepSection
+
#region Inactive
[Category("Miscellaneous")]
[Description("Is Active Section Type")]
+
+ // when set to True, the section type is hidden from the user
+ // - but this section type could still be used "internally" by PROMS (i.e. when "Where" is set to "UseOnAllButFirstPage")
+ // - is also used to keep un-used section types around for future use
private LazyLoad _Inactive;
public bool Inactive
{
@@ -173,10 +193,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Inactive, "@Inactive");
}
}
- #endregion
+ #endregion Inactive
+
#region SupplementalInfo
[Category("Miscellaneous")]
[Description("Supports Supplemental Information")]
+
+ // Use in SAMG procedures, flag that tells PROMS this section type can have Supplemental Information.
+ // This information is entered as an RNO off of a step but is printed on the backside of the previous page
+ // (like a foldout page) so that it is visable along with the steps that it applies.
private LazyLoad _SupplementalInformation;
public bool SupplementalInformation
{
@@ -185,8 +210,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupplementalInformation, "@SupplementalInformation");
}
}
- // B2023-060: Pagination - if section uses supplemental information, use the Section's properties/pagination (continuous or
- // separate) rather than always setting to separate
+
+ // B2023-060: Procedures with Supplemental Information will assume that all sections are printed separately.
+ // This flag will use the Section's properties/pagination (continuous or separate)
+ // rather than always setting to separate
[Category("Miscellaneous")]
[Description("Supports Supplemental Information Pagination")]
private LazyLoad _SupInfoNoPaginOverride;
@@ -197,9 +224,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupInfoNoPaginOverride, "@SupInfoNoPaginOverride");
}
}
+
// F2023-035: WCN - allow for change in left margin for supplemental information pages by
- // setting a value in the DocStyle for the adjustment. This is used when importing the vlnParagraph page
- // page & when doing pagelist items
+ // setting a value in the DocStyle for the adjustment. This is used when importing the vlnParagraph page
+ // page & when doing pagelist items
+ // summary: adjustment to the left margin for the associated supplemental information pages
private LazyLoad _SupInfoMargAdj;
public float? SupInfoMargAdj
{
@@ -208,11 +237,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupInfoMargAdj, "@SupInfoMargAdj");
}
}
-
- #endregion
+
+ #endregion SupplementalInfo
+
#region LandscapePageList
[Category("Miscellaneous")]
[Description("Should PageList be landscape")]
+
+ // this will rotate the associated PageStyle information 180 degrees to the left
private LazyLoad _LandscapePageList;
public bool LandscapePageList
{
@@ -221,11 +253,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _LandscapePageList, "@LandscapePageList");
}
}
- #endregion
+ #endregion LandscapePageList
+
#region ShowSectionTitles
[Category("Miscellaneous")]
[Description("Should Section Titles be shown")]
private LazyLoad _ShowSectionTitles;
+ // like the ShowSectionTitles at the StepSectionLayData level - turns on printing the section number and title on the first page of the section. This allows it to be controled based on which section type was selected, so long as it's set to false at the StepSectionLayData level.
public bool ShowSectionTitles
{
get
@@ -233,10 +267,12 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ShowSectionTitles, "@ShowSectionTitles");
}
}
- #endregion
+ #endregion ShowSectionTitles
+
#region ResetFirstPageOnSection
[Category("Miscellaneous")]
[Description("Reset first page of section on Separate pagination section")]
+ // put in for V.C. Summer
private LazyLoad _ResetFirstPageOnSection;
public bool ResetFirstPageOnSection
{
@@ -245,10 +281,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ResetFirstPageOnSection, "@ResetFirstPageOnSection");
}
}
- #endregion
+ #endregion ResetFirstPageOnSection
+
#region IncludeInTOC
[Category("Miscellaneous")]
[Description("Include in Auto Table Of Contents")]
+
+ // this will include the section in the Automatic Table Of Contents by default (unless it's turned off in Section Properties)
private LazyLoad _IncludeInTOC;
public bool IncludeInTOC
{
@@ -257,10 +296,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _IncludeInTOC, "@IncludeInTOC");
}
}
- #endregion
+ #endregion IncludeInTOC
+
#region UseCheckOffs
[Category("Miscellaneous")]
[Description("Section Uses Checkoffs")]
+
+ // turns on the ability for a step editor section to have checkoffs
private LazyLoad _UseCheckOffs;
public bool UseCheckOffs
{
@@ -269,10 +311,12 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UseCheckOffs, "@UseCheckOffs");
}
}
- #endregion
+ #endregion UseCheckOffs
+
#region UseCheckOffs
[Category("Miscellaneous")]
[Description("Section Uses MetaSection ColSByLevel")]
+ // the section uses the MetaSection ColSByLevel setting (based on step text level) to position the step on the page
private LazyLoad _UseColSByLevel;
public bool UseColSByLevel
{
@@ -281,22 +325,12 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UseColSByLevel, "@UseColSByLevel");
}
}
- #endregion
- #region Oldtonew
- [Category("Miscellaneous")]
- [Description("Convert from old to new")]
- private LazyLoad _OldToNew;
- public int? OldToNew
- {
- get
- {
- return LazyLoad(ref _OldToNew, "@OldToNew");
- }
- }
- #endregion
+ #endregion UseCheckOffs
+
#region CancelSectTitle
[Category("Miscellaneous")]
[Description("Section Cancel Section Title")]
+ // this will prevent the section number and title from printing at the beginning of the section. This is set to false when the section number and/or title is printed from the PageStyle instead
private LazyLoad _CancelSectTitle;
public bool CancelSectTitle
{
@@ -305,7 +339,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CancelSectTitle, "@CancelSectTitle");
}
}
- #endregion
+ #endregion CancelSectTitle
+
#region DontInsertBlankPages
[Category("Miscellaneous")]
[Description("Don't insert blank pages in this section when printing duplex with blank pages")]
@@ -318,13 +353,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _DontInsertBlankPages, "@DontInsertBlankPages");
}
}
- #endregion
+ #endregion DontInsertBlankPages
+
#region CenterLine
//CenterLineX="261.9" CenterLineYTop="673.2" CenterLineYBottom="44.2"
private LazyLoad _CenterLineX;
[Category("CenterLine")]
[DisplayName("X Location")]
[Description("Distance from left side of page")]
+ // horizontal positon of a center line that is drawn on the printed page
public float? CenterLineX
{
get
@@ -332,6 +369,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CenterLineX, "@CenterLineX");
}
}
+
+ // the vertical starting positon of a center line that is drawn on the printed page
private LazyLoad _CenterLineYTop;
[Category("CenterLine")]
[DisplayName("Y Top Location")]
@@ -343,6 +382,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CenterLineYTop, "@CenterLineYTop");
}
}
+
+ // the vertical ending positon of a center line that is drawn on the printed page
private LazyLoad _CenterLineYBottom;
[Category("CenterLine")]
[DisplayName("Y Bottom Location")]
@@ -354,10 +395,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CenterLineYBottom, "@CenterLineYBottom");
}
}
+
private LazyLoad _CLineWidth;
[Category("CenterLine")]
[DisplayName("Line Width")]
[Description("Width of Lines Internal to Boxes")]
+
+ // overrides the default pen width (.95) used to draw the center line
public float? CLineWidth
{
get
@@ -365,10 +409,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CLineWidth, "@CLineWidth");
}
}
- #endregion
+ #endregion CenterLine
+
#region OptionalSectionContent
[Category("Miscellaneous")]
[Description("Section Optional Content")]
+
+ // don't print the "No Section Content" message when section is empty
private LazyLoad _OptionalSectionContent;
public bool OptionalSectionContent
{
@@ -377,10 +424,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _OptionalSectionContent, "@OptionalSectionContent");
}
}
- #endregion
+ #endregion OptionalSectionContent
+
#region Section Number Flags
[Category("Miscellaneous")]
[Description("Don't parse the section number - use DisplayNumber value")]
+
+ // when creating a section tab, use as was entered in section properties
private LazyLoad _DontParseSectionNumber;
public bool DontParseSectionNumber
{
@@ -390,9 +440,13 @@ namespace VEPROMS.CSLA.Library
}
}
#endregion
+
#region SpecialStepsFoldout
[Category("Miscellaneous")]
[Description("Section Special Steps Foldout")]
+
+ // (for step editor foldouts) reduces white space on the foldout page to allow more information on the page,
+ // also special handling of step tabs when section numbers normally are part of step numbers
private LazyLoad _SpecialStepsFoldout;
public bool SpecialStepsFoldout
{
@@ -401,8 +455,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialStepsFoldout, "@SpecialStepsFoldout");
}
}
+
[Category("Miscellaneous")]
[Description("Section Special Steps Foldout with white space")]
+
+ // allow for all of the other special foldout formatting, but not compress the page
private LazyLoad _SpecialStepsFoldoutKeepWhiteSpace;
public bool SpecialStepsFoldoutKeepWhiteSpace
{
@@ -411,8 +468,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialStepsFoldoutKeepWhiteSpace, "@SpecialStepsFoldoutKeepWhiteSpace");
}
}
+
[Category("Miscellaneous")]
[Description("Section Extra Line Header")]
+ // add and extra blank line before a Caution/Note header, appears to be used with SpecialStepsFoldout logic
+ // and the SpaceIn set on Caution and Note step types
private LazyLoad _ExtraLineHeader;
public bool ExtraLineHeader
{
@@ -421,10 +481,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ExtraLineHeader, "@ExtraLineHeader");
}
}
- #endregion
+ #endregion SpecialStepsFoldout
+
#region UndSpecialStepsFoldout
[Category("Miscellaneous")]
[Description("Section Cancel Section Title")]
+
+ // used in Foldout section types, will underline the High Level Steps of a Foldout (Step Editor Section)
private LazyLoad _UndSpecialStepsFoldout;
public bool UndSpecialStepsFoldout
{
@@ -433,11 +496,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UndSpecialStepsFoldout, "@UndSpecialStepsFoldout");
}
}
- #endregion
+ #endregion UndSpecialStepsFoldout
+
#region CoverNoMergedPageNum
[Category("Miscellaneous")]
[Description("Cover Page Do Not Show Page Count")]
- private LazyLoad _CoverNoMergedPageNum; // F2021-046: flag if cover page section doesn't print page number on first page of merged pdf:
+
+ // F2021-046: When doing the Merge option when printing all procedures, flag if cover page section
+ // doesn't print the merged page number on first page of the merged pdf (used in printing Alarm Procedure sets)
+ private LazyLoad _CoverNoMergedPageNum;
public bool CoverNoMergedPageNum
{
get
@@ -445,10 +512,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CoverNoMergedPageNum, "@CoverNoMergedPageNum");
}
}
- #endregion
+ #endregion CoverNoMergedPageNum
+
#region AlignHLSTabWithSect
[Category("Miscellaneous")]
[Description("Align HLS Tab With Sect")]
+
+ // Align the starting position of the High Level Step to be under the section header (section title).
+ // The step width is also ajusted to fit within the page margins
private LazyLoad _AlignHLSTabWithSect;
public bool AlignHLSTabWithSect
{
@@ -457,10 +528,17 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AlignHLSTabWithSect, "@AlignHLSTabWithSect");
}
}
- #endregion
+ #endregion AlignHLSTabWithSect
+
#region AdjSectTitleLoc
[Category("Miscellaneous")]
[Description("Adjust Section Title Location")]
+
+ // When high level steps are used as the high level section number and title (a ".0" is added to the high level
+ // step number). This flag adds additional tabbing logic (location & numbering) and deals with printing
+ // the INITIAL header (checkoffs/signoffs) when then continuous pagination is set with other sections.
+ // This was added to support Barakahs meta sections step/sub-step tabbing and the INITIAL sign off header
+ // placement in the page header.
private LazyLoad _AdjSectTitleLoc;
public bool AdjSectTitleLoc // B2022-129: don't indent HLS when flag is on (Barakah - single column step attachment with meta sect)
{
@@ -469,12 +547,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AdjSectTitleLoc, "@AdjSectTitleLoc");
}
}
- #endregion
+ #endregion AdjSectTitleLoc
+
#region ShowAlarmPointWindowInfo
[Category("Miscellaneous")]
[Description("Show Alarm Point Table Info in Step Editor")]
- private LazyLoad _ShowAlarmPointWindowInfo;
+
//C2021-018 show alarm point RO data in step editor (BNPP Alarms)
+ // used to display Alarm Point Table RO values in the editor. A read-only Note type is used, off of step the section title, to display the Alarm Point table RO information.
+ private LazyLoad _ShowAlarmPointWindowInfo;
public bool ShowAlarmPointWindowInfo
{
get
@@ -482,10 +563,17 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ShowAlarmPointWindowInfo, "@ShowAlarmPointWindowInfo");
}
}
- #endregion
+ #endregion ShowAlarmPointWindowInfo
+
#region ComponentList
[Category("Miscellaneous")]
[Description("Component List")]
+
+ // this is used generate a could different types of section and step formatting.
+ // Along with this flag, it uses a Template (defined in the format file)
+ // and specially defined step and sub-step types to create specialized formatting when printed.
+ // It's used for Calvert Cliffs Alarm Point pages, Calvert Cliffs Valve List sections,
+ // and Farley Component List tales (Figure section in EOP procedures).
private LazyLoad _ComponentList;
public bool ComponentList
{
@@ -494,12 +582,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ComponentList, "@ComponentList");
}
}
- #endregion
+ #endregion ComponentList
+
#region pagestyle
private PageStyle _pagestyle;
[Category("Miscellaneous")]
[DisplayName("Page Style")]
[Description("Page Style")]
+
+ // Get the PageStyle associated with the DocStyle
public PageStyle pagestyle
{
get
@@ -510,7 +601,8 @@ namespace VEPROMS.CSLA.Library
return _pagestyle;
}
}
- #endregion
+ #endregion pagestyle
+
#region SubElements
private Layout _Layout;
public Layout Layout
@@ -595,6 +687,8 @@ namespace VEPROMS.CSLA.Library
[Category("Layout")]
[DisplayName("Top Margin on Printed Page")]
[Description("Top Margin on Printed Page")]
+
+ // The top point of the printed page to start printing the step text (or section number/title)
public float? TopMargin
{
get
@@ -608,6 +702,8 @@ namespace VEPROMS.CSLA.Library
[Category("Location")]
[DisplayName("Number of lines required for footer")]
[Description("Number of lines required for footer")]
+
+ // space to reserve if needed for bottom page messages (ex: continue message)
public float? FooterLength
{
get
@@ -615,11 +711,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _FooterLength, "@FooterLength");
}
}
+ #endregion
+ #region ChangeBarAdjustment
// B2023-052: Beaver Valley - Inconsistent change bar location
private LazyLoad _AbsChgBarAdj;
[Category("Location")]
[DisplayName("Absolute change bar adjustment for margin differences")]
[Description("Absolute change bar adjustment for margin differences")]
+
+ // when AbsoluteFixedChangeColumn flag is used it is from the LeftMargin. If a unique section has a different LeftMarge define, change bars in that section will not be located at the same location as the other sections. This allows for an adjustment to the change bar location to match the other sections
public float? AbsChgBarAdj
{
get
@@ -627,12 +727,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AbsChgBarAdj, "@AbsChgBarAdj");
}
}
- #endregion
+ #endregion ChangeBarAdjustment
+
#region LeftMargin
private LazyLoad _LeftMargin;
[Category("Location")]
[DisplayName("Size of left margin")]
[Description("Size of left margin")]
+
+ // the absolute left position on the printed page that text can be printed. other format variables and PageStyle column positions used this as the starting reference point
public float? LeftMargin
{
get
@@ -662,12 +765,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _LeftMargin, "@LeftMargin");
}
}
- #endregion
+ #endregion LeftMargin
+
#region PageLength
private LazyLoad _PageLength;
[Category("Location")]
[DisplayName("Length of Page")]
[Description("Length of Page")]
+
+ // the length of the printable area for step text (also for Word sections) - used to determin page breaks when printing
public float? PageLength
{
get
@@ -698,12 +804,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PageLength, "@PageLength");
}
}
- #endregion
+ #endregion PageLength
+
#region PageWidth
private LazyLoad _PageWidth;
[Category("Location")]
[DisplayName("Width of Page")]
[Description("Width of Page")]
+
+ // width of the printed page from the LeftMargin (defines the Right Margin of the section)
public float? PageWidth
{
get
@@ -711,12 +820,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PageWidth, "@PageWidth");
}
}
- #endregion
+ #endregion PageWidth
+
#region MSWordXAdj
private LazyLoad _MSWordXAdj;
[Category("Location")]
[DisplayName("MSWord X Adjustment")]
[Description("X Placement of PDF during Print")]
+
+ // used for landscape Word sections, adjusts the Horizontal position on the printed page
public float? MSWordXAdj
{
get
@@ -724,12 +836,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MSWordXAdj, "@MSWordXAdj");
}
}
- #endregion
+ #endregion MSWordXAdj
+
#region MSWordYAdj
private LazyLoad _MSWordYAdj;
[Category("Location")]
[DisplayName("MSWord Y Adjustment")]
[Description("Y Placement of PDF during Print")]
+
+ // used for landscape Word sections, adjusts the Vertical position on the printed page
public float? MSWordYAdj
{
get
@@ -737,12 +852,17 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MSWordYAdj, "@MSWordYAdj");
}
}
- #endregion
+ #endregion MSWordYAdj
+
#region SectionMacro
private LazyLoad _SectionMacro;
[Category("Extras")]
[DisplayName("Section Macro")]
[Description("Section Macro Prints With Title")]
+
+ // will print a defined print macro with the section title.
+ // (ex. Westinghouse Alarms format will print a solid line before the section title
+ // for the "Line Above Section Title" section style)
public string SectionMacro
{
get
@@ -750,10 +870,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SectionMacro, "@SectionMacro");
}
}
- #endregion
+ #endregion SectionMacro
+
+
#region CenterToStepThenPage
[Category("Layout")]
[Description("CenterToStepThenPage")]
+
+ // centering position of Tables and Figures is calulated first with repect to the table or figure width, then that positionm is centered with respect the printable page width and left margin
private LazyLoad _CenterToStepThenPage;
public bool CenterToStepThenPage
{
@@ -762,10 +886,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CenterToStepThenPage, "@CenterToStepThenPage");
}
}
- #endregion
+ #endregion CenterToStepThenPage
}
- #endregion
- #region SectTop
+ #endregion Layout
+
+ #region SectTopWcnTraining
[TypeConverter(typeof(ExpandableObjectConverter))]
public class SectTop : vlnFormatItem
{
@@ -789,6 +914,8 @@ namespace VEPROMS.CSLA.Library
[Category("Section Continue Msg")]
[DisplayName("Margin for Section top msg")]
[Description("Margin for Section top msg")]
+
+ // used to position Responsibility text for Wolf Creek Training format
public float? Margin
{
get
@@ -796,12 +923,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Margin, "@Margin");
}
}
- #endregion
+ #endregion Margin
+
#region MaxLen
private LazyLoad _MaxLen;
[Category("Section Continue Msg")]
[DisplayName("MaxLen for text within the column")]
[Description("MaxLen for text within the column")]
+
+ // the maxium length of Responsibility text (Wolf Creek Training format)
public int? MaxLen
{
get
@@ -809,12 +939,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MaxLen, "@MaxLen");
}
}
- #endregion
+ #endregion MaxLen
#region Message
private LazyLoad _Message;
[Category("Continue Msg")]
[DisplayName("Section Top Continue Msg")]
[Description("Section Top Continue Msg")]
+
+ // top continue message used only for Wolf Creek Training format
public string Message
{
get
@@ -822,9 +954,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Message, "@Message");
}
}
- #endregion
+ #endregion Message
}
- #endregion
+ #endregion SectTopWcnTraining
+
#region ContinueAll
#region Continue
[TypeConverter(typeof(ExpandableObjectConverter))]
@@ -897,6 +1030,8 @@ namespace VEPROMS.CSLA.Library
[Category("Continue Msg")]
[DisplayName("Margin for top msg")]
[Description("Margin for top msg")]
+
+ //value added to the left margin when calculating the center point of a top continue message.
public float? Margin
{
get
@@ -904,7 +1039,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Margin, "@Margin");
}
}
- #endregion
+ #endregion Margin
+
#region RowOverride
// C2019-044 put in for Barakah Single Column format
// specify the row to put the top continue message
@@ -921,11 +1057,14 @@ namespace VEPROMS.CSLA.Library
}
}
#endregion
+
#region UseStepTabs
private LazyLoad _UseStepTabs;
[Category("Continue Msg")]
[DisplayName("Flag to use step tabs")]
[Description("Flag to use step tabs")]
+
+ // added for Comanche Peak will print out step tabs as a top comtinue message.
public bool UseStepTabs
{
get
@@ -933,12 +1072,21 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UseStepTabs, "@UseStepTabs");
}
}
- #endregion
+ #endregion UseStepTabs
+
#region HLS
private LazyLoad _HLS;
[Category("Continue Msg")]
[DisplayName("Include HLS in top continue msg")]
[Description("Include HLS in top continue msg")]
+
+ // include the High Level Step in the top continue message
+ // - see DoTopContinueMsg in VlnParagraph for details
+ // set to "1" will use high level step tab and text
+ // set to "4" the high level step text is the section title, appears when fist level sub-step breaks
+ // set to "7" similar logic as "4" but for Vogtle Main Control Room alarms but use high level step text
+ // set to "6" handle when break occures on Caution/Note
+ // set to "3" special logic for Calvert Cliffs Alarms (the two column part)
public int? HLS
{
get
@@ -946,12 +1094,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _HLS, "@HLS");
}
}
- #endregion
+ #endregion HLS
+
#region PlaceAtLeftMargin
private LazyLoad _PlaceAtLeftMargin; // F2019-033 only use the Left Margin plus any Top message margin
[Category("Continue Msg")]
[DisplayName("Flag to position at left margin")]
[Description("Flag to position at left margin")]
+
+ // position the top continue message with respect only to the left margin
public bool PlaceAtLeftMargin
{
get
@@ -959,7 +1110,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PlaceAtLeftMargin, "@PlaceAtLeftMargin");
}
}
- #endregion
+ #endregion PlaceAtLeftMargin
+
#region Message
private LazyLoad _RemoveBullet;
public bool RemoveBullet // C2021-024: WCN1 if bullet exists in combined tab, stop right before bullet.
@@ -969,10 +1121,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _RemoveBullet, "@RemoveBullet");
}
}
+
private LazyLoad _Message;
[Category("Continue Msg")]
[DisplayName("Top Continue Msg")]
[Description("Top Continue Msg")]
+
+ // the top continue message string - may caontain special formatting items - see DoTopContinueMsg in vlnParagraph for different format settings
public string Message
{
get
@@ -980,9 +1135,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Message, "@Message");
}
}
- #endregion
+ #endregion Message
}
- #endregion
+
+ #endregion Top
+
#region Bottom
[TypeConverter(typeof(ExpandableObjectConverter))]
public class Bottom : vlnFormatItem
@@ -1007,6 +1164,8 @@ namespace VEPROMS.CSLA.Library
[Category("Continue Msg")]
[DisplayName("Margin for bottom msg")]
[Description("Margin for bottom msg")]
+
+ // horitzontal position of the bottom continue message from the left margin
public float? Margin
{
get
@@ -1014,12 +1173,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Margin, "@Margin");
}
}
- #endregion
+ #endregion Margin
+
#region MarginR BGE
private LazyLoad _MarginR;
[Category("Continue Msg")]
[DisplayName("Margin for bottom msg RNO Column (if in both columns)")]
[Description("Margin for bottom msg RNO Column (if in both columns)")]
+
+ // horitzontal position from the left margin for a RNO bottom continue message
public float? MarginR
{
get
@@ -1027,20 +1189,23 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MarginR, "@MarginR");
}
}
- #endregion
+ #endregion MarginR BGE
+
#region Location
[Category("Continue Msg")]
[Description("Bottom Continue Location")]
-
- private LazyLoad _NumberingSequence;
- public E_NumberingSequence? NumberingSequence
- {
- get
- {
- return LazyLoad(ref _NumberingSequence, "@NumberingSequence");
- }
- }
private LazyLoad _Location;
+
+ // location of the bottom continue message
+ // E_ContBottomLoc list (ENum.cs):
+ // EndOfText = 0,
+ // BtwnTextAndBottom = 1,
+ // BottomOfPage = 2,
+ // BelowBottom1 = 3,
+ // BottomWithFooter = 4, - added for BGE for Alarms. This puts continue message on bottom AND if in CONDITION/RESPONSE table, at bottom of both columns.
+ // EndOfText2 = 5,
+ // BtwnTextAndBottom2 = 6 - Added for BGE, their continue message was a line or so too far down the page
+
public E_ContBottomLoc? Location
{
get
@@ -1048,6 +1213,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Location, "@Location");
}
}
+
+ // flag for cases where step text was printing on top of the bottom continue messsage due to how a step was paginated - put in for Farley
private LazyLoad _NoOverrideSpace;
public bool NoOverrideSpace
{
@@ -1056,6 +1223,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NoOverrideSpace, "@NoOverrideSpace");
}
}
+
+ // Location Adjustment of the calculated vertical position of the bottom continue message (from Location setting)
private LazyLoad _LocAdj;
public int? LocAdj
{
@@ -1065,7 +1234,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _LocAdj, "@LocAdj");
}
}
- #endregion
+ #endregion Location
+
#region Message
private LazyLoad _RemoveBullet;
public bool RemoveBullet // C2021-024: WCN1 if bullet exists in combined tab, stop right before bullet.
@@ -1075,10 +1245,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _RemoveBullet, "@RemoveBullet");
}
}
+
private LazyLoad _Message;
[Category("Continue Msg")]
[DisplayName("Bottom Continue Msg")]
[Description("Bottom Continue Msg")]
+
+ //the bottom continue message string - may caontain special formatting items
+ //- see DoBottomContinueMsg in vlnParagraph for different format settings
public string Message
{
get
@@ -1086,9 +1260,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Message, "@Message");
}
}
- #endregion
+ #endregion Message
}
- #endregion
+ #endregion Bottom
+
#region SectionTitle
[TypeConverter(typeof(ExpandableObjectConverter))]
public class SectionTitle : vlnFormatItem
@@ -1100,6 +1275,8 @@ namespace VEPROMS.CSLA.Library
[Category("Section Title Continue Msg")]
[DisplayName("AppendToTitle")]
[Description("Append Text to Section Title For Continue Msg")]
+
+ // continue message to add to the section title
public string AppendToTitle
{
get
@@ -1107,10 +1284,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AppendToTitle, "@AppendToTitle");
}
}
- #endregion
+ #endregion AppendToTitle
}
- #endregion //SectionTitle - continue setting
- #endregion
+ #endregion //SectionTitle - continue setting
+ #endregion ContinueAll
+
#region End
[TypeConverter(typeof(ExpandableObjectConverter))]
public class End : vlnFormatItem
@@ -1135,6 +1313,8 @@ namespace VEPROMS.CSLA.Library
[Category("End Msg")]
[DisplayName("End Msg Exists")]
[Description("End Msg Exists")]
+
+ // vertical positon adjustment of the End message
public int? Flag
{
get
@@ -1142,12 +1322,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Flag, "@Flag");
}
}
- #endregion
+ #endregion Flag
+
#region Message
private LazyLoad _Message;
[Category("End Msg")]
[DisplayName("End Message")]
[Description("End Message")]
+
+ // End Message Text
public string Message
{
get
@@ -1155,6 +1338,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Message, "@Message");
}
}
+
public string FixedMessage
{
get
@@ -1162,6 +1346,8 @@ namespace VEPROMS.CSLA.Library
return Message == null ? null : Message.Replace("\n","\r\n").Replace(@"{par}","\r\n");
}
}
+
+ // amount of space from the left margin to print the End Message
private LazyLoad _Margin;
public float? Margin
{
@@ -1170,6 +1356,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Margin, "@Margin");
}
}
+
+ // print the end message at the end of each sub-section
private LazyLoad _EndMessageOnEachSubSection;
public bool EndMessageOnEachSubSection
{
@@ -1178,9 +1366,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _EndMessageOnEachSubSection, "@EndMessageOnEachSubSection");
}
}
- #endregion
+ #endregion Message
}
- #endregion
+ #endregion End
+
#region Final
[TypeConverter(typeof(ExpandableObjectConverter))]
public class Final : vlnFormatItem
@@ -1191,6 +1380,8 @@ namespace VEPROMS.CSLA.Library
[Category("Final Msg")]
[DisplayName("Final Message")]
[Description("Final Message")]
+
+ // Final Message text to be printed on last page of procedure
public string Message
{
get
@@ -1199,7 +1390,8 @@ namespace VEPROMS.CSLA.Library
}
}
}
- #endregion
+ #endregion Final
+
#region StructureStyle
[TypeConverter(typeof(ExpandableObjectConverter))]
public class StructureStyle : vlnFormatItem
@@ -1210,6 +1402,13 @@ namespace VEPROMS.CSLA.Library
[Category("Structure Style")]
[Description("Where Used")]
private LazyLoad _Where;
+
+ // where with repect to the section is this DocStyle/PageList relationship used:
+ // UseOnAllPages (all pages of the section), UseOnFirstPage (only the first page of the section),
+ // UseOnAllButFirstPage (all except for the first page of the section).
+ // Note that when UseOnFirstPage is used, it but reference a DocStyle (IndexOtherThanFirstPage)
+ // that uses UseOnAllButFirstPage.
+
public E_DocStyleUse? Where
{
get
@@ -1217,10 +1416,13 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Where, "@Where");
}
}
- #endregion
+ #endregion Where
+
#region Style
[Category("Structure Style")]
[Description("Style")]
+
+ // allow us to identify a specialized type of section (Table of Contents, Foldout Page, etc) as well as other unique formatting that deviates from the normal formatting/data entry of the procedure. See "E_DocStructStyle" in VEPROMS.CSLA.Library\ENums.cs for alist of the possible flags and descriptions.
private LazyLoad _Style;
public E_DocStructStyle? Style
{
@@ -1229,8 +1431,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Style, "@Style");
}
}
- #endregion
+ #endregion Style
}
- #endregion
- #endregion
+ #endregion StructureStyle
+ #endregion DocStyleAll
}
diff --git a/PROMS/VEPROMS.CSLA.Library/Format/ENums.cs b/PROMS/VEPROMS.CSLA.Library/Format/ENums.cs
index beb4276d..27a22aee 100644
--- a/PROMS/VEPROMS.CSLA.Library/Format/ENums.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Format/ENums.cs
@@ -127,10 +127,6 @@ namespace VEPROMS.CSLA.Library
[Flags]
public enum E_DocStructStyle : ulong
{
- //USEONALLPAGES = 0, // Default
- //USEONFIRSTPAGE = 1, // Use only on the first page
- //USEONALLBUTFIRSTPAGE = 2, // Use on all but the first page
- //USEONLASTPAGE = 4, // NO LOGIC exists for this selection. Use only on the last page
None = 0,
UseSectionFoldout = 8, // Attach section foldouts (only active if using SectionLevelFoldouts_ON
DontCountFoldoutPgs = 16, // Used with the USESECTIONFOLDOUT flag. Keeps foldout pages from
@@ -138,7 +134,7 @@ namespace VEPROMS.CSLA.Library
TableOfContents = 32,
DontCountInTabOfCont = 64,
Placekeeper = 128,
- Align1StLevSubWHLS = 0x00000100, // guess?
+ Align1StLevSubWHLS = 0x00000100, // the first level sub-step will start at the same column as the high level step
DoubleBoxHLS = 0x00000200,
UseAltCntrline = 0x00000400,
DontNumberInTOC = 0x00000800, // Don't include page number for this section in the Table of Contents
diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs
index df70d5d1..a1af31b5 100644
--- a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs
@@ -21,6 +21,7 @@ namespace VEPROMS.CSLA.Library
public PageStyle() : base() { }
#endregion
#region Business Methods
+ // description to associate with a DocStyle
private LazyLoad _Name;
[DisplayName("Name")]
[Description("Page Style Name")]
@@ -31,6 +32,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Name, "@Name");
}
}
+
+ // a unuque number that is referenced from the DocStyles
private LazyLoad _Index;
[DisplayName("Index")]
[Description("Page Style Index")]
@@ -41,6 +44,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Index, "@Index");
}
}
+
private PageItems _PageItems;
public PageItems PageItems
{
@@ -66,6 +70,7 @@ namespace VEPROMS.CSLA.Library
}
#endregion
#region PageItem
+ // this links up the - group in
public class PageItem : vlnFormatItem
{
#region Constructor
@@ -92,6 +97,8 @@ namespace VEPROMS.CSLA.Library
return (_RelatedItem == null) ? _RelatedItem = new RelatedItem(SelectSingleNode("RelatedItem")) : _RelatedItem;
}
}
+
+ // this can be an actual token, in curly braces, that dynamically gets replaced with information, or just plain text
private LazyLoad _Token;
[Category("Content")]
[DisplayName("Content")]
@@ -103,6 +110,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Token, "@Token");
}
}
+
+ // the row on the page to place the Item
private LazyLoad _Row;
[Category("Location")]
[DisplayName("Vertical Position")]
@@ -114,6 +123,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Row, "@Row");
}
}
+
+ // the column on the page to place the Item
private LazyLoad _Col;
[Category("Location")]
[DisplayName("Horizontal Position")]
@@ -125,6 +136,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Col, "@Col");
}
}
+
+ // the justification at the Col position in which to print the Token information
private LazyLoad _Justify;
public E_Justify? Justify
{
@@ -133,6 +146,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Justify, "@Justify");
}
}
+
+ //run the PROMS Replace Words logic on the resulting text of Token
private LazyLoad _RepWords; // F2021-053: Do replace words in page list
public bool RepWords
{
@@ -141,6 +156,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _RepWords, "@RepWords");
}
}
+
+ //Flag to tell PROMS to get the alarm value information based on the specified Child applicability
private LazyLoad _ROLkUpMatch; // C2021-065 (BNPP Alarms format)
public bool ROLkUpMatch
{
@@ -149,6 +166,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ROLkUpMatch, "@ROLkUpMatch");
}
}
+
+ // Flag to specify if that PageStyle Item should be used in creating alarm point information
+ // for viewing in the PROMS step editor
+ // this information is displayed in a Note that it build on the fly when first opening an Alarm Point page
private LazyLoad _ROLkUpInEditor; // C2021-018 (BNPP Alarms format)
public bool ROLkUpInEditor
{
@@ -157,6 +178,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ROLkUpInEditor, "@ROLkUpInEditor");
}
}
+
+ // defines a maxium width before the resolved PSI token (procedure specific information) text is wrapped
+ // on to the next line
private LazyLoad _MaxWidth;
public int? MaxWidth
{
@@ -165,6 +189,7 @@ namespace VEPROMS.CSLA.Library
return (LazyLoad(ref _MaxWidth, "@MaxWidth"));
}
}
+
// MaxWidth, above, flagged that, if there was more than 1 line, the topmargin would be adjusted by however
// many lines the PSI item contained (for wst alarms). The MaxWidthCurPage is used when that adjustment
// should not be made, the length of the PSI item is only relevant for the current page.
@@ -177,6 +202,8 @@ namespace VEPROMS.CSLA.Library
return (LazyLoad(ref _MaxWidthCurPage, "@MaxWidthCurPage"));
}
}
+
+ // the resolved pagestype item font size will be reduce in order to fit within the defined width
private LazyLoad _FontShrinkAftLen; // F2021-066 & 070 (text len before shrinking font)
public int? FontShrinkAftLen
{
@@ -185,6 +212,8 @@ namespace VEPROMS.CSLA.Library
return (LazyLoad(ref _FontShrinkAftLen, "@FontShrinkAftLen"));
}
}
+
+ // used in Alarm Point Table page style values with FontShrinkAftLen set, will display this message if the text cannot be shrunk enough (and be readable) to fit within the defined width
private LazyLoad _FontTooSmallMsg; // F2021-066 message if can't shrink enough
public string FontTooSmallMsg
{
@@ -193,7 +222,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _FontTooSmallMsg, "@FontTooSmallMsg");
}
}
+
// F2023-039 allow to select text color of a pagelist line
+ // sets a text color for the page style Item
private LazyLoad _TextColor;
public string TextColor
{
@@ -202,6 +233,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _TextColor, "@TextColor");
}
}
+
+ // set to a string, will remove the matching string from the end
// F2023-112 Vogtle Units 3 & Backgrounds - trim the ending "-B" from the procedure number (used in title box of page header)
private LazyLoad _TrimEnding;
public string TrimEnding
@@ -235,6 +268,8 @@ namespace VEPROMS.CSLA.Library
public RelatedItem() : base() { }
#endregion
#region Business Methods
+
+ // the name of the PSI logical token to check
private LazyLoad _Token;
[Category("RelatedContent")]
[DisplayName("RelatedContent")]
@@ -246,6 +281,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Token, "@Token");
}
}
+
+ // new Row value to use for PageStyle Item
private LazyLoad _Row;
[Category("Location")]
[DisplayName("Vertical Position")]
@@ -257,6 +294,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Row, "@Row");
}
}
+
+ // new Col value to use for PageStyle Item
private LazyLoad _Col;
[Category("Location")]
[DisplayName("Horizontal Position")]
@@ -268,6 +307,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Col, "@Col");
}
}
+
+ // new Justify value to use for PageStyle Item
private LazyLoad _Justify;
public E_Justify? Justify
{
diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs
index faf65a31..153cd329 100644
--- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs
+++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs
@@ -546,6 +546,8 @@ namespace VEPROMS.CSLA.Library
return _Font == null? _Font = new VE_Font(base.XmlNode): _Font;
}
}
+
+ // Defines the printed page size (ex: US Letter, A4)
private PDFPageSize _PDFPageSize;
public PDFPageSize PDFPageSize // C2020-002 paper size is now set in the format files
{
@@ -594,6 +596,7 @@ namespace VEPROMS.CSLA.Library
}
set { _SymbolList = value; }
}
+ // gets the high level node that contains setting used in the procedure step editor
private EditData _EditData;
public EditData EditData
{
@@ -602,6 +605,7 @@ namespace VEPROMS.CSLA.Library
return _EditData == null ? _EditData = new EditData(SelectSingleNode("EditData")): _EditData;
}
}
+ // gets the high level node that contains settings used to generate PDFs (print)
private PrintData _PrintData;
public PrintData PrintData
{
@@ -610,6 +614,7 @@ namespace VEPROMS.CSLA.Library
return _PrintData == null? _PrintData = new PrintData(SelectSingleNode("PrintData")):_PrintData;
}
}
+ // get high level node containing settings used for both edit and print
private ProcData _ProcData;
public ProcData ProcData
{
@@ -618,6 +623,7 @@ namespace VEPROMS.CSLA.Library
return _ProcData == null? _ProcData = new ProcData(SelectSingleNode("ProcData")):_ProcData;
}
}
+ // get high level node containing settings pertraining to sections of a procedure
private SectData _SectData;
public SectData SectData
{
@@ -626,6 +632,7 @@ namespace VEPROMS.CSLA.Library
return _SectData == null? _SectData = new SectData(SelectSingleNode("SectData")):_SectData;
}
}
+ // get a list of box formatting information primarily used for Cautions, Notes, and Warnings.
private BoxList _BoxList;
public BoxList BoxList
{
@@ -635,6 +642,7 @@ namespace VEPROMS.CSLA.Library
}
set { _BoxList = value; }
}
+ // gets a list of trainsition formatting information for various types of transitions
private TransData _TransData;
public TransData TransData
{
@@ -643,6 +651,7 @@ namespace VEPROMS.CSLA.Library
return _TransData == null? _TransData = new TransData(SelectSingleNode("TransData")):_TransData;
}
}
+ // get format settings related to handling Referenced Object values
private ROData _ROData;
public ROData ROData
{
@@ -651,6 +660,7 @@ namespace VEPROMS.CSLA.Library
return _ROData == null ? _ROData = new ROData(SelectSingleNode("ROData")) : _ROData;
}
}
+ // gets a list containing all of the defined step types and step parts (high level, sub-steps, cations, notes, etc)
private StepDataList _StepDataList;
public StepDataList StepDataList
{
@@ -919,6 +929,8 @@ namespace VEPROMS.CSLA.Library
public class PDFPageSize : vlnFormatItem
{
public PDFPageSize(XmlNode xmlNode) : base(xmlNode) { }
+
+ // Defines the printed page size (ex: US Letter, A4)
private LazyLoad _PaperSize;
public string PaperSize
{
@@ -1162,23 +1174,7 @@ namespace VEPROMS.CSLA.Library
[TypeConverter(typeof(ExpandableObjectConverter))]
public class EditData : vlnFormatItem
{
- public EditData(XmlNode xmlNode) : base(xmlNode) { }
- private LazyLoad _EMode;
- public E_EMode? EMode
- {
- get
- {
- return LazyLoad(ref _EMode, "@EMode");
- }
- }
- private LazyLoad _PromptForCautionType;
- public bool PromptForCautionType
- {
- get
- {
- return LazyLoad(ref _PromptForCautionType, "@PromptForCautionType");
- }
- }
+ public EditData(XmlNode xmlNode) : base(xmlNode) { }
// Put in for Farley. This puts editor in editoral mode while a spell check being performed
// - No change bars will be added
// - existing change bars will remain
@@ -1198,15 +1194,9 @@ namespace VEPROMS.CSLA.Library
public class PrintData : vlnFormatItem
{
public PrintData(XmlNode xmlNode) : base(xmlNode) { }
- private VersionIdTextList _VersionIdTextList;
- public VersionIdTextList VersionIdTextList
- {
- get
- {
- return _VersionIdTextList == null? _VersionIdTextList = new VersionIdTextList(SelectNodes("VersionIdText/string")):_VersionIdTextList;
- }
- set { _VersionIdTextList = value; }
- }
+
+ // List of procedure descriptions (ProcDescr) inwhich we match the beginning of a procedure number
+ // in order to print procedure description text via a pagelist token
private ProcDescrList _ProcDescrList;
public ProcDescrList ProcDescrList
{
@@ -1215,14 +1205,9 @@ namespace VEPROMS.CSLA.Library
return _ProcDescrList == null? _ProcDescrList = new ProcDescrList(SelectNodes("ProcDescrList/ProcDescr")):_ProcDescrList;
}
}
- private LazyLoad _DoPrnDrvrAdjusts;
- public int? DoPrnDrvrAdjusts
- {
- get
- {
- return LazyLoad(ref _DoPrnDrvrAdjusts, "@DoPrnDrvrAdjusts");
- }
- }
+
+ // an offset value for the placement of step tabs used in a Supplemental Information section of SAMG procedures
+ // to allow space for a Note or Caution tab.
private LazyLoad _SupInfoTabOff;
public int? SupInfoTabOff
{
@@ -1231,6 +1216,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupInfoTabOff, "@SupInfoTabOff");
}
}
+
+ // Flag to determin if the parent tab is used as the first part of a supplemental info step/sub-step tab.
private LazyLoad _SupInfoIncludeParTab;
public bool SupInfoIncludeParTab
{
@@ -1239,6 +1226,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupInfoIncludeParTab, "@SupInfoIncludeParTab");
}
}
+
+ // Shift the hoizontal positon of a step by 12 if the supplemental Info step tab was going to print over step text
private LazyLoad _SupInfoAdjustXOffForLongTab;
public bool SupInfoAdjustXOffForLongTab
{
@@ -1247,14 +1236,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SupInfoAdjustXOffForLongTab, "@SupInfoAdjustXOffForLongTab");
}
}
- private LazyLoad _TopOfPageThing;
- public string TopOfPageThing
- {
- get
- {
- return LazyLoad(ref _TopOfPageThing, "@TopOfPageThing");
- }
- }
+
+ // flag to allow user to enter the procedure revision number, either a forward or back slash,
+ // then the revision date or revision text
private LazyLoad _DoRevDate;
public bool DoRevDate
{
@@ -1263,14 +1247,10 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _DoRevDate, "@DoRevDate");
}
}
- private LazyLoad _AlternateFoldoutPages;
- public bool AlternateFoldoutPages
- {
- get
- {
- return LazyLoad(ref _AlternateFoldoutPages, "@AlternateFoldoutPages");
- }
- }
+
+ // Print alternate foldout pages within a defined range of procedure step pages.
+ // You can have multiple Foldout Page sections within a procedure,
+ // each pertaining to a range of steps (ranges cannot overlap) - used by Shearon Harris
private LazyLoad _AlternateFloatingFoldout;
public bool AlternateFloatingFoldout
{
@@ -1279,6 +1259,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AlternateFloatingFoldout, "@AlternateFloatingFoldout");
}
}
+
+ // Allows the user to identify a procedure section that is to be used as a foldout page
+ // that is printed on the backside of procedure step pages
private LazyLoad _SectionLevelFoldouts;
public bool SectionLevelFoldouts
{
@@ -1287,6 +1270,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SectionLevelFoldouts, "@SectionLevelFoldouts");
}
}
+
+ // This will replace any forward or back slash character they may be in the procedures's PDF file name
+ // with the character defined in the plant's format file
private LazyLoad _SlashReplace;
public string SlashReplace
{
@@ -1295,6 +1281,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SlashReplace, "@SlashReplace");
}
}
+
+ // Flag - (flag is named incorrectly) when set allows user to append to the procedure's revision number,
+ // a backslash character followed by a revision date
private LazyLoad _RevDateWithForwardSlash;
public bool RevDateWithForwardSlash
{
@@ -1303,6 +1292,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _RevDateWithForwardSlash, "@RevDateWithForwardSlash");
}
}
+
+ // On the Working Draft Properties page, Turns on a text box for the user to enter in a unit number
+ // that is used on cover pages and in the page header - D.C. Cook and Calvert Cliffs formats
private LazyLoad _UnitNumber;
public bool UnitNumber
{
@@ -1311,6 +1303,12 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UnitNumber, "@UnitNumber");
}
}
+
+ // Flag allow for using the UnitProcSetString transition defintion variable which will build
+ // a prefix to the referenced procedure number
+ // ex: UnitProcSetString ="{PSI:UNITCOM}-{SI:SETNAME}-{PSI:SETID|4023}-" will look for UNITCOM in
+ // the Procedure Specific Information, then SETNAME in the Set Specific Information (working draft),
+ // then the SETID in the Procedure Specific Information (or use 4023) if nothing is entered
private LazyLoad _OutSideTransSetName; //B2019-072: For AEP, use PSI & SI for outside transition text
public bool OutSideTransSetName
{
@@ -1319,6 +1317,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _OutSideTransSetName, "@OutSideTransSetName");
}
}
+
+ // For Calvert Cliffs, this allows for double letted step tabs, speical handling in Transitions,
+ // special pagination logic for their style of procedures
private LazyLoad _SpecialCaseCalvert;
public bool SpecialCaseCalvert
{
@@ -1327,6 +1328,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialCaseCalvert, "@SpecialCaseCalvert");
}
}
+
+ // Calvert Alarms have the top part of the alarm point page in single column, the the bottom part in two column.
+ // Also special processing of Note, Cautions and Warnings
private LazyLoad _SpecialCaseCalvertAlarm;
public bool SpecialCaseCalvertAlarm
{
@@ -1335,6 +1339,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialCaseCalvertAlarm, "@SpecialCaseCalvertAlarm");
}
}
+
+ // Special pagination logic to handle out of the ordinary procedure formating and steps with RNOs
+ // that go on for pages
private LazyLoad _SpecialCaseCalvertPagination;
public bool SpecialCaseCalvertPagination
{
@@ -1343,7 +1350,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialCaseCalvertPagination, "@SpecialCaseCalvertPagination");
}
}
+
// B2023-034 for use with Beaver Valley AOP format
+ // This allows for the use of the UseOnFirst docstyle setting on a mixture of sections and sub-sections
private LazyLoad _UseOnFirstForSeparatePaginationOnSubSect;
public bool UseOnFirstForSeparatePaginationOnSubSect
{
@@ -1352,7 +1361,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UseOnFirstForSeparatePaginationOnSubSect, "@UseOnFirstForSeparatePaginationOnSubSect");
}
}
- // B2023-043 for use with Beaver Valley AOP format - allow attributes, such as superscript on section titles when printing
+
+ // B2023-043 for use with Beaver Valley AOP format - allow attributes, such as superscript on section titles
+ // when printing
private LazyLoad _SectionTitleWithAttributes;
public bool SectionTitleWithAttributes
{
@@ -1361,6 +1372,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SectionTitleWithAttributes, "@SectionTitleWithAttributes");
}
}
+
+ // Format Flag enabling special formatting and printing of training materials - Wolf Creek Training format
private LazyLoad _WCNTraining;
public bool WCNTraining
{
@@ -1369,6 +1382,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _WCNTraining, "@WCNTraining");
}
}
+
+ // Only used in Calvert Cliffs Valve format - only supporting code checks to see
+ // if a note should be a footnote
private LazyLoad _HorizontalSubsteps;
public bool HorizontalSubsteps
{
@@ -1377,54 +1393,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _HorizontalSubsteps, "@HorizontalSubsteps");
}
}
- private LazyLoad _SpecialStepsFoldout;
- public bool SpecialStepsFoldout
- {
- get
- {
- return LazyLoad(ref _SpecialStepsFoldout, "@SpecialStepsFoldout");
- }
- }
- private LazyLoad _SpecialStepsFoldoutKeepWhiteSpace;
- public bool SpecialStepsFoldoutKeepWhiteSpace
- {
- get
- {
- return LazyLoad(ref _SpecialStepsFoldoutKeepWhiteSpace, "@SpecialStepsFoldoutKeepWhiteSpace");
- }
- }
- private LazyLoad _AllowDuplex;
- public bool AllowDuplex
- {
- get
- {
- return LazyLoad(ref _AllowDuplex, "@AllowDuplex");
- }
- }
- private LazyLoad _AccessoryDocsInDuplex;
- public bool AccessoryDocsInDuplex
- {
- get
- {
- return LazyLoad(ref _AccessoryDocsInDuplex, "@AccessoryDocsInDuplex");
- }
- }
- private LazyLoad _FoldoutsInDuplex;
- public bool FoldoutsInDuplex
- {
- get
- {
- return LazyLoad(ref _FoldoutsInDuplex, "@FoldoutsInDuplex");
- }
- }
- private LazyLoad _PagelistChangeIDsWithCommas;
- public bool PagelistChangeIDsWithCommas
- {
- get
- {
- return LazyLoad(ref _PagelistChangeIDsWithCommas, "@PagelistChangeIDsWithCommas");
- }
- }
+
+ // Doesn't reset the paglist for the first sub-section when printing
+ // - appears to be needed for plants with AP1000 procedures
private LazyLoad _SpecialCaseWestinghouse;
public bool SpecialCaseWestinghouse
{
@@ -1433,6 +1404,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SpecialCaseWestinghouse, "@SpecialCaseWestinghouse");
}
}
+
// Put in for Comanche Peak to print "COMMON" for the unit number instead of "Unit 0"
private LazyLoad _PrintCommonForZeroUnit;
public bool PrintCommonForZeroUnit
@@ -1442,7 +1414,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PrintCommonForZeroUnit, "@PrintCommonForZeroUnit");
}
}
- private LazyLoad _NoBlankHlsAndFirstSub; // F2021-033: Barakah Alarm: no blank line between HLS & first substep
+
+ // F2021-033: Barakah Alarm: no blank line between HLS & first substep
+ private LazyLoad _NoBlankHlsAndFirstSub;
public bool NoBlankHlsAndFirstSub
{
get
@@ -1450,7 +1424,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NoBlankHlsAndFirstSub, "@NoBlankHlsAndFirstSub");
}
}
- private LazyLoad _NoBlankLastNoteCautionWarn; // F2021-025: Barakah Alarm: no blank line between last Note/Caution/Warn & box line
+
+ // F2021-025: Barakah Alarm: no blank line between last Note/Caution/Warn & box line
+ private LazyLoad _NoBlankLastNoteCautionWarn;
public bool NoBlankLastNoteCautionWarn
{
get
@@ -1458,7 +1434,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NoBlankLastNoteCautionWarn, "@NoBlankLastNoteCautionWarn");
}
}
- private LazyLoad _NoteCautionCenterOneAllTypes; // F2023-126: Vogtle Alarms - center single line caution/note if more than one type exist off step
+
+ // F2023-126: Vogtle Alarms - center single line caution/note if more than one type exist off step
+ private LazyLoad _NoteCautionCenterOneAllTypes;
public bool NoteCautionCenterOneAllTypes
{
get
@@ -1466,7 +1444,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NoteCautionCenterOneAllTypes, "@NoteCautionCenterOneAllTypes");
}
}
- private LazyLoad _ChkBoxToGeneratePointListText; // C2021-063 Barakah Alarm: check box to generate Alarm Point List Text
+
+ // C2021-063 Barakah Alarm: check box to generate Alarm Point List Text
+ private LazyLoad _ChkBoxToGeneratePointListText;
public bool ChkBoxToGeneratePointListText
{
get
@@ -1474,7 +1454,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ChkBoxToGeneratePointListText, "@ChkBoxToGeneratePointListText");
}
}
- // C2022-004 When a procedure is approved, force the watermark of the unit number (defined in the format file under UnitWatermarkData)
+
+ // C2022-004 When a procedure is approved, force the watermark of the unit number
+ // (defined in the format file under UnitWatermarkData)
private LazyLoad _UseUnitWatermarkOnApproved;
public bool UseUnitWatermarkOnApproved
{
@@ -1483,6 +1465,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UseUnitWatermarkOnApproved, "@UseUnitWatermarkOnApproved");
}
}
+
// B2022-086: Barakah - flag to adjust ypagesize for pagination when 1st and later pages have different printable box size
private LazyLoad _AdjFirstSecDocStylesInPagination;
public bool AdjFirstSecDocStylesInPagination
@@ -1492,6 +1475,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _AdjFirstSecDocStylesInPagination, "@AdjFirstSecDocStylesInPagination");
}
}
+
+ // Adjust the image size to better fit on the printed page
private LazyLoad _AdjustLargeImage;
public bool AdjustLargeImage
{
@@ -1501,46 +1486,15 @@ namespace VEPROMS.CSLA.Library
}
}
}
- #endregion
- #region VersionIdText
- [TypeConverter(typeof(ExpandableObjectConverter))]
- public class VersionIdText : vlnFormatItem
- {
- public VersionIdText(XmlNode xmlNode) : base(xmlNode) { }
- public VersionIdText() : base() { }
- private LazyLoad _Text;
- public string Text
- {
- get
- {
- return LazyLoad(ref _Text, "text()");
- }
- }
- public override string GetPDDisplayName()
- { return "Text"; }
- public override string GetPDDescription()
- { return string.Format("VersionIdText '{0}'", Text); }
- public override string GetPDCategory()
- { return "Version Id Text"; }
- public override string ToString()
- {
- return Text;
- }
- }
- #endregion
- #region VersionIdTextList
- [TypeConverter(typeof(vlnListConverter))]
- public class VersionIdTextList : vlnFormatList
- {
- public VersionIdTextList(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
- }
- #endregion
+ #endregion PrintData
#region ProcDescr
[TypeConverter(typeof(ExpandableObjectConverter))]
public partial class ProcDescr : vlnFormatItem //: BusinessBase, IDisposable
{
public ProcDescr(XmlNode xmlNode) : base(xmlNode) { }
public ProcDescr() : base() { }
+
+ // procedure number part (pattern) to match to find a description to use with the {PROCDESC} pagelist token
private LazyLoad _MatchProcNumber;
public string MatchProcNumber
{
@@ -1549,6 +1503,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MatchProcNumber, "@MatchProcNumber");
}
}
+
+ // The description text associated with a MatchProcNumber Text is used to replace the {PROCDES1} pagelist
private LazyLoad _ProcDescr1;
public string ProcDescr1
{
@@ -1557,6 +1513,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ProcDescr1, "@ProcDescr1");
}
}
+
+ // A second description text associated with a MatchProcNumber. Text is used to replace the {PROCDES2}
private LazyLoad _ProcDescr2;
public string ProcDescr2
{
@@ -1576,24 +1534,15 @@ namespace VEPROMS.CSLA.Library
{
public ProcDescrList(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
}
- #endregion
- #endregion
- #endregion
+ #endregion ProcDescrList
+ #endregion ProcDescr
+ #endregion PrintDataAll
#region ProcDataAll
#region ProcData
[TypeConverter(typeof(ExpandableObjectConverter))]
public class ProcData : vlnFormatItem
{
public ProcData(XmlNode xmlNode) : base(xmlNode) { }
- private ProcedureSuffixList _ProcedureSuffixList;
- public ProcedureSuffixList ProcedureSuffixList
- {
- get
- {
- return _ProcedureSuffixList == null ? _ProcedureSuffixList = new ProcedureSuffixList(SelectNodes("ProcedureSuffix/string")) : _ProcedureSuffixList;
- }
- set { _ProcedureSuffixList = value; }
- }
private ChangeBarData _ChangeBarData;
public ChangeBarData ChangeBarData
{
@@ -1637,6 +1586,9 @@ namespace VEPROMS.CSLA.Library
return localvalue ?? LazyLoad(ref _CheckOffUCF, "@CheckOffUCF");
}
}
+
+ // specifies the maxiumn length of the procedure title before PROMS considers to wrap the title
+ // this is used with the {PROCTITLE} PageStyle toekn
private LazyLoad _TitleLength;
public int? TitleLength
{
@@ -1645,6 +1597,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _TitleLength, "@TitleLength");
}
}
+
+ // Length of the procedure title before wrapping on the Cover Page. T
+ // his is used with the {COVERPROCTITLE} PageSytle token
private LazyLoad _CoverTitleLength;
public int? CoverTitleLength
{
@@ -1653,14 +1608,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CoverTitleLength, "@CoverTitleLength");
}
}
- private LazyLoad _ProcedureSuffixFlags;
- public string ProcedureSuffixFlags
- {
- get
- {
- return LazyLoad(ref _ProcedureSuffixFlags, "@ProcedureSuffixFlags");
- }
- }
+
+ // Uppercase the procedure title when printed
private LazyLoad _CapitalizeTitle;
public bool CapitalizeTitle
{
@@ -1669,14 +1618,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CapitalizeTitle, "@CapitalizeTitle");
}
}
- private LazyLoad _ChangeStyleForEverySection;
- public bool ChangeStyleForEverySection
- {
- get
- {
- return LazyLoad(ref _ChangeStyleForEverySection, "@ChangeStyleForEverySection");
- }
- }
+
+ // If a procedure or section does not have a title PROMS puts in "" as default title text
+ // by default (base format) PROMS will print ""
+ // When set to False, this flag prevents PROMS printing the text ""
+ // This also affects transiton references
private LazyLoad _PrintNoTitle;
public bool PrintNoTitle
{
@@ -1685,6 +1631,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PrintNoTitle, "@PrintNoTitle");
}
}
+
+ // This will print Notes at the bottom of the page as footnotes
+ // Use by Calvert Cliffs (BGE) primarily for their landscaped valve sections
private LazyLoad _NotesToFootnotes;
public bool NotesToFootnotes
{
@@ -1693,77 +1642,30 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NotesToFootnotes, "@NotesToFootnotes");
}
}
+
+ // C2021-027: Procedure level PC/PC
+ // This allows us to assign an entire procedure's applicability level
+ // instead of just the sections and steps
private LazyLoad _ProcAppl;
- public bool ProcAppl // C2021-027: Procedure level PC/PC
+ public bool ProcAppl
{
get
{
return LazyLoad(ref _ProcAppl, "@ProcAppl");
}
}
- private LazyLoad _CountFoldoutPages;
- public bool CountFoldoutPages
- {
- get
- {
- return LazyLoad(ref _CountFoldoutPages, "@CountFoldoutPages");
- }
- }
- private LazyLoad _ForeColor;
- public string ForeColor
- {
- get
- {
- return LazyLoad(ref _ForeColor, "@ForeColor");
- }
- }
- private LazyLoad _BackColor;
- public string BackColor
- {
- get
- {
- return LazyLoad(ref _BackColor, "@BackColor");
- }
- }
- }
- #endregion
- #region ProcedureSuffix
- [TypeConverter(typeof(ExpandableObjectConverter))]
- public class ProcedureSuffix : vlnFormatItem
- {
- public ProcedureSuffix(XmlNode xmlNode) : base(xmlNode) { }
- public ProcedureSuffix() : base() { }
- private LazyLoad _Text;
- public string Text
- {
- get
- {
- return LazyLoad(ref _Text, "text()");
- }
- }
- public override string GetPDDisplayName()
- { return "Text"; }
- public override string GetPDDescription()
- { return string.Format("ProcedureSuffix '{0}'", Text); }
- public override string GetPDCategory()
- { return "Procedure Suffix"; }
- public override string ToString()
- {
- return Text;
- }
- }
- #endregion
- #region ProcedureSuffixList
- [TypeConverter(typeof(vlnListConverter))]
- public class ProcedureSuffixList : vlnFormatList
- {
- public ProcedureSuffixList(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
}
+
#endregion
#region PsiAll
[TypeConverter(typeof(ExpandableObjectConverter))]
public class PSI : vlnFormatItem
{
+ // Procedure Specific Information (context menu from a procedure in the tree view)
+ // Will create a window based on the settings in the plant's format file
+ // Allows for procedure specific information that is printed via the format file's
+ // PageList structure. Used for procedure specific text in page headers
+ // and cover pages (i.e. signaure names, dates, Use Categories)
public PSI(XmlNode xmlNode) : base(xmlNode) { }
private LazyLoad _x;
public int? x
@@ -1782,6 +1684,7 @@ namespace VEPROMS.CSLA.Library
}
}
private LazyLoad _Caption;
+ // caption for the PSI window
public string Caption
{
get
@@ -1790,6 +1693,7 @@ namespace VEPROMS.CSLA.Library
}
}
private LazyLoad _ButtonsOnBottom; // change to bool
+ // place the OK and Cancel buttons on the bottom of the PSI window
public string ButtonsOnBottom
{
get
@@ -1797,6 +1701,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _ButtonsOnBottom, "@ButtonsOnBottom");
}
}
+ // returns a list of labels that are defined in the format's PSI structure
private SILabels _LabelList;
public SILabels LabelList
{
@@ -1805,6 +1710,7 @@ namespace VEPROMS.CSLA.Library
return _LabelList == null ? _LabelList = new SILabels(SelectNodes("/PlantFormat/FormatData/ProcData/PSI/Label")) : _LabelList;
}
}
+ // returns a list of fields that are defined in the format's PSI structure
private SIFields _FieldList;
public SIFields FieldList
{
@@ -1819,6 +1725,7 @@ namespace VEPROMS.CSLA.Library
public SILabels(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
}
+ // PSI label class
public class SILabel : vlnFormatItem
{
public SILabel(XmlNode xmlNode) : base(xmlNode) { }
@@ -1876,6 +1783,7 @@ namespace VEPROMS.CSLA.Library
{
public SIFields(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
}
+ // PSI field class
public class SIField : vlnFormatItem
{
public SIField(XmlNode xmlNode) : base(xmlNode) { }
@@ -1955,6 +1863,8 @@ namespace VEPROMS.CSLA.Library
}
#endregion
#region SIAll
+ // classes to handle Set Specific information
+ // Same as PSI but accessable only from the Working draft tree node
[TypeConverter(typeof(ExpandableObjectConverter))]
public class SI : vlnFormatItem
{
@@ -1975,6 +1885,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _y, "@y");
}
}
+ // caption for the the Set Specific information window
private LazyLoad _Caption;
public string Caption
{
@@ -1983,6 +1894,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Caption, "@Caption");
}
}
+ // the the OK and Cancel buttons on the bottom of the SI Window
private LazyLoad _ButtonsOnBottom; // change to bool
public string ButtonsOnBottom
{
@@ -2155,6 +2067,9 @@ namespace VEPROMS.CSLA.Library
if (retlist2 != null && retlist2.Count > 0) foreach (CheckOffHeader co in retlist2) retlist.Add(co);
_CheckOffHeaderList = retlist;
}
+
+ // This is used with the {INITIALS} pagelist token and will put the word "INITIALS" at the specified pagelist
+ // location for the checkoff column header. Used by Calvert Cliffs (BGEOI and BGESTP formats)
private LazyLoad _CheckOffHeaderInPagelist;
public bool CheckOffHeaderInPagelist
{
@@ -2163,6 +2078,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckOffHeaderInPagelist, "@CheckOffHeaderInPagelist");
}
}
+ // Menu heading for checkoffs/signoffs. When this is set to "Signoff", the checkoff list is not enabled
private LazyLoad _Menu;
public string Menu
{
@@ -2171,30 +2087,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Menu, "@Menu");
}
}
- private LazyLoad _AllowSectEdit;
- public bool AllowSectEdit
- {
- get
- {
- return LazyLoad(ref _AllowSectEdit, "@AllowSectEdit");
- }
- }
- private LazyLoad _AllowStepEdit;
- public bool AllowStepEdit
- {
- get
- {
- return LazyLoad(ref _AllowStepEdit, "@AllowStepEdit");
- }
- }
- private LazyLoad _UseCheckOffsIn;
- public int? UseCheckOffsIn
- {
- get
- {
- return LazyLoad(ref _UseCheckOffsIn, "@UseCheckOffsIn");
- }
- }
+
+ // this will make room on the page for checkoffs by adjusting the step text width. Used for cases where there isn't
+ // a checkoff header (we adjust step text width when a checkoff header is printed)
private LazyLoad _CheckOffAdjustment;
public float? CheckOffAdjustment
{
@@ -2203,6 +2098,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckOffAdjustment, "@CheckOffAdjustment");
}
}
+ // used for checkoff (initial line) next to the step number tab. the XLocation number is added to the left margin
private LazyLoad _XLocation;
public float? XLocation
{
@@ -2211,6 +2107,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _XLocation, "@XLocation");
}
}
+
+ // relative location of the checkoff based on the text width and its location on the page
private LazyLoad _RelXLocation;
public float? RelXLocation
{
@@ -2219,7 +2117,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _RelXLocation, "@RelXLocation");
}
}
-
+
+ //Start printing the checkoff on the last line of the step text (when set here applies to all checkofs)
private LazyLoad _DropCheckOff;
public bool DropCheckOff
{
@@ -2228,6 +2127,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _DropCheckOff, "@DropCheckOff");
}
}
+
+ // put checkoff only on High Level Steps
private LazyLoad _CheckOffOnHLSOnly;
public bool CheckOffOnHLSOnly
{
@@ -2236,6 +2137,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckOffOnHLSOnly, "@CheckOffOnHLSOnly");
}
}
+
+ // SkipSpaces puts the checkoff macro (if specified in the format) next to the step tab
+ // the print logic looks at the step tab and skips (backwards) the lenth (width) of the tab
+ // to position the checkoff
+ // - this is used for Bryon and Braidwood
private LazyLoad _SkipSpaces;
public bool SkipSpaces
{
@@ -2244,7 +2150,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SkipSpaces, "@SkipSpaces");
}
}
+
// put in for Bryon and Braidwood
+ // enables the selection of a checkoff only when on a sub-step type
private LazyLoad _CheckoffOnSubStepsOnly;
public bool CheckoffOnSubStepsOnly
{
@@ -2253,6 +2161,7 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckoffOnSubStepsOnly, "@CheckoffOnSubStepsOnly");
}
}
+
// C2019-040 This will adjust the right margin (making room for the checkoff) without the need of selecting a checkoff header
// the flag allows us to use existing coding that prior to this was restricted by format file name
private LazyLoad _CheckoffsWithoutHeader;
@@ -2279,7 +2188,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Index, "@Index");
}
}
- private LazyLoad _OrderBy; // C2020-003 used to sort list of checkoffs in the combo box
+ // C2020-003 used to sort list of checkoffs in the combo box
+ // a foat number can be used (ex 2.75) to fine tune the sorting
+ private LazyLoad _OrderBy;
public float? OrderBy
{
get
@@ -2287,6 +2198,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _OrderBy, "@OrderBy");
}
}
+ // User Interface Mark (UIMark) is the deimal number of an ASCII character that is desplayed in the step editor
+ // to indicate the selected checkoff
private LazyLoad _UIMark;
public int? UIMark
{
@@ -2295,14 +2208,11 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _UIMark, "@UIMark");
}
}
- private LazyLoad _CheckOffWidAdjust;
- public float? CheckOffWidAdjust
- {
- get
- {
- return LazyLoad(ref _CheckOffWidAdjust, "@CheckOffWidAdjust");
- }
- }
+
+ // If a positive numer, start the checkoff that number of lines minus one down from the start of the text
+ // and add that many lines after.
+ // If it's negative number, start the checkoff on the same line as the text
+ // and add positive of that number of lines after the checkoff macro. (see vlnPaaragraph.cs)
private LazyLoad _CheckOffXtraLines;
public float? CheckOffXtraLines
{
@@ -2311,6 +2221,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckOffXtraLines, "@CheckOffXtraLines");
}
}
+
+ // Add blank lines to make room for loner signoffs (checkoffs)
private LazyLoad _CheckOffNumberOfLines;
public float? CheckOffNumberOfLines
{
@@ -2319,6 +2231,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CheckOffNumberOfLines, "@CheckOffNumberOfLines");
}
}
+
+ //Descriptive text shown in the checkoff selection list
private LazyLoad _MenuItem;
public string MenuItem
{
@@ -2327,6 +2241,9 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _MenuItem, "@MenuItem");
}
}
+
+ // Name of the macro defined in the correspoinding SVG (GenMac) file.
+ // The print logic uese this macro to draw the checkoff
private LazyLoad _Macro;
public string Macro
{
@@ -2335,6 +2252,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Macro, "@Macro");
}
}
+
+ //Dont' print the checkoff if the step text is empty (all spaces or hardspaces)
private LazyLoad _NotOnEmpty;
public bool NotOnEmpty
{
@@ -2343,6 +2262,8 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _NotOnEmpty, "@NotOnEmpty");
}
}
+
+ // Start printing the checkoff on the last line of the step text (applies to just this checkoff)
private LazyLoad _DropCheckOff;
public bool DropCheckOff
{
@@ -2384,6 +2305,7 @@ namespace VEPROMS.CSLA.Library
[TypeConverter(typeof(ExpandableObjectConverter))]
public class CheckOffHeader : vlnFormatItem,IVlnIndexedFormatItem
{
+ // Column header for the printed checkoff column
public CheckOffHeader(XmlNode xmlNode) : base(xmlNode) { }
public CheckOffHeader() : base() { }
private LazyLoad _Index;
@@ -2402,6 +2324,8 @@ namespace VEPROMS.CSLA.Library
return (_Font == null ? _Font = new VE_Font(base.XmlNode) : _Font);
}
}
+
+ // the checkoff column heading text (when printed)
private LazyLoad _CheckOffHeading;
public string CheckOffHeading
{
@@ -2445,6 +2369,11 @@ namespace VEPROMS.CSLA.Library
public class ChangeBarData : vlnFormatItem
{
public ChangeBarData(XmlNode xmlNode) : base(xmlNode) { }
+ // Comma separated list of column positions for each of the change bar types:
+ // With Text
+ // Outside Box
+ // AER on LEFT, RNO on Right
+ // To the Left of Text
private LazyLoad _DefaultCBLoc;
public string DefaultCBLoc
{
@@ -2453,62 +2382,45 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _DefaultCBLoc, "@DefaultCBLoc");
}
}
+ // text that is place next to the change bar
+ // DateChgID (Date and Change ID)
+ // RevNum (Revision Number)
+ // ChgID (Change ID)
+ // None (No Change Bar Message)
+ // UserDef (User Defined Message)
private LazyLoad _ChangeBarMessage;
public string ChangeBarMessage
- {
- get
- {
- return LazyLoad(ref _ChangeBarMessage, "@ChangeBarMessage");
- }
+ {
+ get
+ {
+ return LazyLoad(ref _ChangeBarMessage, "@ChangeBarMessage");
+ }
}
+ // FixedChangeColumn + - Column location for change bars
+ // 0 - Separate AER and RNO change bars to the right of the text
+ // -10 to -1 - Change bars on left (specify # of columns from the text)
+ // <-10 - AER change bars on the left and RNO change bars on the right.
private LazyLoad