Compare commits

..

66 Commits

Author SHA1 Message Date
djankowski 668472286e Merge pull request 'Development' (#307) from Development into master
Merging all changes through C2023-006 into master after successful testing.
2024-04-26 09:21:44 -04:00
djankowski e00d34c99d Merge pull request 'Development' (#300) from Development into master
Merging C2024-008 and C2024-007 from development into master after successful testing.
2024-04-17 14:57:22 -04:00
djankowski 9fb496dfb3 Merge pull request 'Development' (#297) from Development into master
Merging F2024-053 from development into master after successful testing.
2024-04-11 09:23:34 -04:00
djankowski f4eaa4a3ef Merge pull request 'Development' (#295) from Development into master
Merging F2024-052 from development into master after successful testing.
2024-04-08 11:11:43 -04:00
djankowski 5d50ed6bdf Merge pull request 'Development' (#292) from Development into master
Merging F2024-051, B2024-021, F2024-049, F2024-050 and F2024-045 after successful testing.
2024-04-05 10:54:57 -04:00
djankowski d7ace4eaf9 Merge pull request 'Development' (#287) from Development into master
Merging F2024-047, F2024-048, B2024-017 and B2024-019 from development into master after successful testing.
2024-04-04 11:36:56 -04:00
djankowski 16a4d335ea Merge pull request 'Development' (#282) from Development into master
Merging all items through B2024-018 from development into master after successful testing.
2024-03-27 13:39:46 -04:00
djankowski ba69bb0772 Merge pull request 'Development' (#275) from Development into master
Merging F2024-037 and CSLA updates into master after successful testing.
2024-03-20 16:07:27 -04:00
djankowski 455940caa2 Merge pull request 'Development' (#271) from Development into master
Merging F2024-040 into master after successful testing.
2024-03-18 10:00:30 -04:00
djankowski 439344757e Merge pull request 'Development' (#269) from Development into master
Merging F2024-044, F2024-043, and F2024-019 in master after successful testing.
2024-03-15 09:33:57 -04:00
djankowski ad912691c9 Merge pull request 'Development' (#265) from Development into master
Merging 	F2024-016, 	F2024-032, 	B2024-013, 	F2024-025,	F2024-027 & F2024-028 into master after successful testing.
2024-03-12 14:01:12 -04:00
djankowski 237144aff6 Merge pull request 'Development' (#259) from Development into master
Merging B2024-014 from development into master after successful testing.
2024-03-04 15:02:18 -05:00
djankowski 810332d558 Merge pull request 'Development' (#256) from Development into master
Merging F2024-020 from development into master.  No testing required since formats are under development.
2024-02-29 13:23:48 -05:00
djankowski f8431d0ba1 Merge pull request 'Development' (#252) from Development into master
Merging F2024-022 from development into master.  No testing required since formats are under development.
2024-02-29 09:23:51 -05:00
djankowski 57c3bfa16a Merge pull request 'Development' (#250) from Development into master
Merging C2023-003 and F2024-026 into master after successful testing.
2024-02-28 11:56:15 -05:00
djankowski 61f1077608 Merge pull request 'Development' (#248) from Development into master
Merging F2024-029, B2024-009, F2024-023, B2024-011, B2024-012 and F2024-017 from development into master after successful testing.
2024-02-27 14:21:22 -05:00
djankowski 8877e968b9 Merge pull request 'Development' (#239) from Development into master
Merging F2024-018, B2024-008, B2024-007, and F2024-015 from development into master after successful testing.
2024-02-22 08:22:26 -05:00
djankowski 4575c90bee Merge pull request 'Development' (#233) from Development into master
Merging updated formats from development into master after successful testing.
2024-02-14 16:07:57 -05:00
djankowski 21279a87ae Merge pull request 'Development' (#231) from Development into master
Merging B2024-006 from development into master after successful testing.
2024-02-14 08:19:09 -05:00
djankowski 3d5ad4a17e Merge pull request 'Development' (#229) from Development into master
Merging C2024-002 and F2024-013 from development into master after successful testing.
2024-02-09 11:30:41 -05:00
djankowski 9bb7b044a8 Merge pull request 'Development' (#226) from Development into master
Merging F2024-010, 	F2024-011, 	F2024-008, 	B2024-002, 	F2024-012  and B2024-005 from development into master after successful testing.
2024-02-08 11:38:49 -05:00
djankowski dc8f2f7561 Merge pull request 'Development' (#219) from Development into master
Merging C2022-009 into master after successful testing.
2024-02-02 13:53:22 -05:00
djankowski 829dbf84da Merge pull request 'Development' (#217) from Development into master
Merging F2024-005 and B2024-004 from development into master after successful testing
2024-01-31 08:34:00 -05:00
djankowski 7b156c17f8 Merge pull request 'Development' (#212) from Development into master
Merging all changes up through F2024-006 from development into master after successful testing.
2024-01-24 11:30:40 -05:00
djankowski cbf7cbc164 Merge pull request 'Development' (#198) from Development into master
Merging F2024-002 and F2023-112 from development into master.  No testing required since formats are under development.
2024-01-08 15:24:15 -05:00
djankowski b04faa816e Merge pull request 'Development' (#196) from Development into master
Merging F2023-126, F2024-001, C2022-009, C2023-024 and C2023-023 from development into Master after successful testing.
2024-01-03 10:54:22 -05:00
djankowski 517ebe2902 Merge pull request 'Development' (#189) from Development into master
Initial check-in of Vogtle Background formats.  No testing required since formats are under development.
2023-12-15 15:48:55 -05:00
djankowski 03d0d314e3 Merge pull request 'Development' (#187) from Development into master
Merging B2023-115 from development into master after successful testing.
2023-12-12 15:31:06 -05:00
djankowski 3e804c5cce Merge pull request 'Development' (#185) from Development into master
Merging F2023-133 into from development into master. No testing required since formats are under development.
2023-12-11 10:08:22 -05:00
djankowski ee2b8b538e Merge pull request 'Development' (#183) from Development into master
Merging PROMSFixes from development into master after minor changes to UpdateFormatList.
2023-12-08 14:51:21 -05:00
djankowski fdfd34fe92 Merge pull request 'Development' (#181) from Development into master
Merging F2023-151 from development into master.  No testing required since formats are under development.
2023-12-07 15:55:16 -05:00
djankowski 2d6fb6523b Merge pull request 'Development' (#179) from Development into master
Merging F2023-133 from development into master.  No testing required since formats are under development.
2023-12-07 11:44:31 -05:00
djankowski 3084bf3982 Merge pull request 'Development' (#177) from Development into master
Merging B2023-115 and F2023-150 from development into master.  No testing required since formats are under development.
2023-12-06 09:08:18 -05:00
djankowski 5ba51e8392 Merge pull request 'Development' (#174) from Development into master
Merging F2023-149 from development into master.  No testing required since formats are under development.
2023-12-05 16:30:39 -05:00
djankowski fb5eb43e34 Merge pull request 'Development' (#172) from Development into master
Merging F2023-124 from development into master.  No testing required since formats are under development.
2023-12-04 11:22:59 -05:00
djankowski b154056276 Merge pull request 'Development' (#170) from Development into master
Merging F2023-119 from development into master.  No testing required since formats are under development.
2023-12-01 15:36:22 -05:00
djankowski c67b8f9ca1 Merge pull request 'Development' (#168) from Development into master
Merging F2023-146 from development to master.  No testing required since formats are under development.
2023-12-01 10:02:50 -05:00
djankowski 95e4181360 Merge pull request 'Development' (#166) from Development into master
Merging F2023-148, F2023-148, and B2023-120 from development into Master. No testing required since formats are under development.
2023-11-30 14:38:49 -05:00
djankowski 32dffbe56b Merge pull request 'Development' (#162) from Development into master
Merging B2023-116, B2023-117, and F2023-143 from development to master after successful testing.
2023-11-29 15:58:44 -05:00
jjenko 6b3c8d373b Merge pull request 'F2023-143_Vogtle3&4_Alrm_Footer' (#159) from F2023-143_Vogtle3&4_Alrm_Footer into master
Format only change.
Vogtle 3&4 formats under development. This change will be tested as data in entered into PROMS by Volian
2023-11-27 16:23:44 -05:00
djankowski db29107f47 Merge pull request 'Development' (#156) from Development into master
Merging F2023-142 and B2022-046 in from development to master after successful testing.
2023-11-14 08:45:47 -05:00
djankowski 355537f2ab Merge pull request 'Development' (#153) from Development into master
Merging F2023-140, F2023-123, B2023-007, B2023-108, F2023-139, F2023-138 and B2023-103
2023-11-09 10:33:40 -05:00
djankowski 0729ef0c21 Merge pull request 'Development' (#147) from Development into master
Merging F2023-139 from development into master after successful testing.
2023-10-26 10:10:33 -04:00
djankowski 6fe82bfd0f Merge pull request 'Development' (#145) from Development into master
Merging F2023-138 from development into master after successful testing.
2023-10-25 14:40:15 -04:00
djankowski 39bf072363 Merge pull request 'Development' (#142) from Development into master
Merging B2023-103 from development into master after successful testing.
2023-10-23 15:28:31 -04:00
djankowski da7c384fd8 Merge pull request 'Development' (#139) from Development into master
Merging C2023-017, C2023-019, B2023-104, B2023-101 and B2023-102 from development into master after successful testing.
2023-10-18 10:37:59 -04:00
djankowski 95130fd9a0 Merge pull request 'Development' (#133) from Development into master
Merging C2023-018 from development into master after successful testing.
2023-10-11 09:26:45 -04:00
djankowski 978e2344a3 Merge pull request 'Development' (#131) from Development into master
Merging C2023-016 and C2023-017 from development into master after successful testing.
2023-10-06 10:56:34 -04:00
djankowski c9bf45602c Merge pull request 'Development' (#128) from Development into master
Merging F2023-137 and B2023-100 from development into master. F2023-137 does not require testing since formats are under development. B2023-100 tested successfully.
2023-10-02 11:52:22 -04:00
djankowski aa160b2036 Merge pull request 'Development' (#124) from Development into master
Merging B2023-099 from development into master after successful testing.
2023-09-28 15:58:27 -04:00
djankowski f82b32d351 Merge pull request 'Development' (#122) from Development into master
Merging B2023-097 and B2023-098 from development into master after successful testing.
2023-09-26 14:58:05 -04:00
djankowski e519dc9a57 Merge pull request 'Development' (#120) from Development into master
Merging B2023-094 from development into master after successful testing.
2023-09-22 13:24:17 -04:00
djankowski f020c37db9 Merge pull request 'Development' (#118) from Development into master
Merged B2023-096 from development into master after successful testing.
2023-09-15 11:50:57 -04:00
djankowski 5a4ec3b6b1 Merge pull request 'Development' (#117) from Development into master
Merging F2023-135 and B2023-093 from development into master after successful testing.
2023-09-14 15:58:52 -04:00
djankowski 2602d6c9d2 Merge pull request 'Development' (#113) from Development into master
Merging C2023-015 from development into master.
2023-09-12 09:23:57 -04:00
djankowski ff403583d7 Merge pull request 'Development' (#111) from Development into master
Merging B2023-091 and B2023-078 from development into master.
2023-08-30 16:07:17 -04:00
djankowski c5577cc2bd Merge pull request 'Development' (#108) from Development into master
Merging F2023-134 from development into master.  No testing required since formats are under development.
2023-08-24 15:01:12 -04:00
djankowski 78be6e5dc1 Merge pull request 'Development' (#106) from Development into master
Merging GitAutomation from Development into Master.
2023-08-24 09:13:06 -04:00
djankowski b954a41375 Merge pull request 'Development' (#104) from Development into master
Merging B2023-089 and F2023-131 from Development into Master.  No testing required since formats are under development.
2023-08-24 09:05:31 -04:00
djankowski 0100a11cfe Merge pull request 'Development' (#101) from Development into master
Merging F2023-125 from development into master.  No testing required since formats are under development.
2023-08-23 08:19:00 -04:00
djankowski 04cf2e8534 Merge pull request 'Development' (#99) from Development into master
Merging F2023-130 from Development into Master. No testing required since formats are under development.
2023-08-22 15:04:22 -04:00
djankowski be00724818 Merge pull request 'Development' (#97) from Development into master
Merging B2023-088 from development into master.  No testing required since formats are under development.
2023-08-22 10:52:09 -04:00
djankowski 274d93c61a Merge pull request 'Development' (#94) from Development into master
Merging F2023-122 from development into master.  No testing required since formats are under development.
2023-08-22 08:53:57 -04:00
djankowski 7dc4c30436 Merge pull request 'Development' (#92) from Development into master
Merging F2023-127 from development into master.  No testing required since formats are under development.
2023-08-22 08:33:56 -04:00
djankowski 028ef4bc31 Merge pull request 'Development' (#89) from Development into master
Merging F2023-128 and F2023-129 from development into master.  No testing required since formats are under development.
2023-08-21 11:46:01 -04:00
djankowski 42124d65c7 Merge pull request 'Development' (#87) from Development into master
Merging F2023-118,  F2023-120 and F2023-121 from development into master.  No testing required since formats are under development.
2023-08-16 10:13:52 -04:00
61 changed files with 342 additions and 1313 deletions
+5 -83
View File
@@ -241,21 +241,6 @@ namespace JR.Utils.GUI.Forms
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton); return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton);
} }
/// <summary>
/// Shows the specified message box.
/// </summary>
/// <param name="owner">The owner.</param>
/// <param name="text">The text.</param>
/// <param name="caption">The caption.</param>
/// <param name="buttons">The buttons.</param>
/// <param name="icon">The icon.</param>
/// <param name="defaultButton">The default button.</param>
/// <returns>The dialog result.</returns>
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
{
return FlexibleMessageBoxForm.ShowCustom(null, text, caption, buttons, icon);
}
#endregion #endregion
#region Internal form class #region Internal form class
@@ -435,15 +420,15 @@ namespace JR.Utils.GUI.Forms
private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " "; private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " ";
//These are the possible buttons (in a standard MessageBox) //These are the possible buttons (in a standard MessageBox)
private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE, OVERWRITE, RENAME }; private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE };
//These are the buttons texts for different languages. //These are the buttons texts for different languages.
//If you want to add a new language, add it here and in the GetButtonText-Function //If you want to add a new language, add it here and in the GetButtonText-Function
private enum TwoLetterISOLanguageID { en, de, es, it }; private enum TwoLetterISOLanguageID { en, de, es, it };
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_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", "&Overwrite", "&Rename" }; 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", "&Overwrite", "&Rename" }; 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", "&Overwrite", "&Rename" }; private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora" };
#endregion #endregion
@@ -709,7 +694,6 @@ namespace JR.Utils.GUI.Forms
flexibleMessageBoxForm.CancelButton = flexibleMessageBoxForm.button3; flexibleMessageBoxForm.CancelButton = flexibleMessageBoxForm.button3;
break; break;
case MessageBoxButtons.OK: case MessageBoxButtons.OK:
default: default:
flexibleMessageBoxForm.visibleButtonsCount = 1; flexibleMessageBoxForm.visibleButtonsCount = 1;
@@ -725,28 +709,6 @@ namespace JR.Utils.GUI.Forms
flexibleMessageBoxForm.defaultButton = defaultButton; flexibleMessageBoxForm.defaultButton = defaultButton;
} }
private static void SetDialogButtonsCustom(FlexibleMessageBoxForm flexibleMessageBoxForm)
{
flexibleMessageBoxForm.visibleButtonsCount = 3;
flexibleMessageBoxForm.button1.Visible = true;
flexibleMessageBoxForm.button1.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.CANCEL);
flexibleMessageBoxForm.button1.DialogResult = DialogResult.Abort;
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 #endregion
#region Private event handlers #region Private event handlers
@@ -904,46 +866,6 @@ namespace JR.Utils.GUI.Forms
return flexibleMessageBoxForm.ShowDialog(owner); return flexibleMessageBoxForm.ShowDialog(owner);
} }
/// <summary>
/// Shows the specified message box.
/// </summary>
/// <param name="owner">The owner.</param>
/// <param name="text">The text.</param>
/// <param name="caption">The caption.</param>
/// <param name="buttons">The buttons.</param>
/// <param name="icon">The icon.</param>
/// <param name="defaultButton">The default button.</param>
/// <returns>The dialog result.</returns>
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 #endregion
} //class FlexibleMessageBoxForm } //class FlexibleMessageBoxForm
-2
View File
@@ -126,7 +126,6 @@
<Content Include="fmtall\BVPSAOPall.xml" /> <Content Include="fmtall\BVPSAOPall.xml" />
<Content Include="fmtall\BVPSAtchall.xml" /> <Content Include="fmtall\BVPSAtchall.xml" />
<Content Include="fmtall\BVPSBCKall.xml" /> <Content Include="fmtall\BVPSBCKall.xml" />
<Content Include="fmtall\BVPSAOPDEVall.xml" />
<Content Include="fmtall\BVPSFlexDEVall.xml" /> <Content Include="fmtall\BVPSFlexDEVall.xml" />
<Content Include="fmtall\BVPSDEVall.xml" /> <Content Include="fmtall\BVPSDEVall.xml" />
<Content Include="fmtall\BVPSNIBCKall.xml" /> <Content Include="fmtall\BVPSNIBCKall.xml" />
@@ -407,7 +406,6 @@
<Content Include="genmacall\BVPSAOP.svg" /> <Content Include="genmacall\BVPSAOP.svg" />
<Content Include="genmacall\BVPSAtch.svg" /> <Content Include="genmacall\BVPSAtch.svg" />
<Content Include="genmacall\BVPSbck.svg" /> <Content Include="genmacall\BVPSbck.svg" />
<Content Include="genmacall\BVPSAOPdev.svg" />
<Content Include="genmacall\BVPSFlexdev.svg" /> <Content Include="genmacall\BVPSFlexdev.svg" />
<Content Include="genmacall\BVPSdev.svg" /> <Content Include="genmacall\BVPSdev.svg" />
<Content Include="genmacall\BVPSNIBCK.svg" /> <Content Include="genmacall\BVPSNIBCK.svg" />
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1320,10 +1320,6 @@ namespace VEPROMS
if (swtbtnPDFLinks.Value) if (swtbtnPDFLinks.Value)
swtbtnPDFdtPrefixSuffix.Value = false; swtbtnPDFdtPrefixSuffix.Value = false;
BuildPDFFileName(); 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 // C2019-004: Allow user to define duplex blank page text. The text box for blank page text is always enabled for procedures with
+2 -415
View File
@@ -22226,419 +22226,6 @@ Go
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Succeeded' IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Succeeded'
ELSE PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Error on Creation' ELSE PRINT 'Procedure Creation: [vesp_ListUnlinkedItems] Error on Creation'
GO GO
/*
==========================================================================================================
Begin: C2024-004: KL - Update Copy Replace functionality, (remove ''copy of'')
==========================================================================================================
*/
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
Modified Date: 07/09/2024
Description: Copy Item and its Children
==========================================================================================================
*/
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.
-- Rem 'Copy Of ' + before first [Number] for C2024-004 (KL)
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 (@@Error = 0) PRINT 'Procedure Creation: [CopyItemAndChildren] Succeeded'
ELSE PRINT 'Procedure Creation: [CopyItemAndChildren] Error on Creation'
GO
/*
==========================================================================================================
End: C2024-004: KL - Update Copy Replace functionality, (remove ''copy of'')
==========================================================================================================
*/
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
/* /*
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
@@ -22673,8 +22260,8 @@ BEGIN TRY -- Try Block
DECLARE @RevDate varchar(255) DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255) DECLARE @RevDescription varchar(255)
set @RevDate = '07/09/2024 9:00 AM' set @RevDate = '03/27/2024 11:00 AM'
set @RevDescription = 'C2024-004: Update Copy Replace functionality' set @RevDescription = 'B2024-018: Enhanced link issue with sub-sections in source but not in enhanced'
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
@@ -1,2 +0,0 @@
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2
C1.Win.C1SpellChecker.C1SpellChecker, C1.Win.C1SpellChecker.2
@@ -1,2 +1 @@
da3d5d14-691f-4908-aa3c-fd3239734232;-8584908724854775808;VkVQUk9NUy5leGU=;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MjQyNzYxODZYWFhYWFhYWDAzNg,Sk9ITi1XSU4xMA,RmFsc2U,ODg0Mw,RmFsc2U,MA,MA,djIwMjQuMQ,,;PxeAWRi6mhDqvUMfJhk9Tniu/8ZnOLQv64hLh05xWM+MPyBs3yYfs3vEn5TLW779QNr1k8F6tV3gOAoLG+JSPZoG3NXmdTe6LJya05W+zWyb0H+jj2ReXN2dNR9fbZNDd3ClAeuzNpsM0pw62aYpOe2Tp6fx9gOFx1/0g8g4/8g da3d5d14-691f-4908-aa3c-fd3239734232;-8584908724854775808;VkVQUk9NUy5leGU=;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MjQyNzYxODZYWFhYWFhYWDAzNg,Sk9ITi1XSU4xMA,RmFsc2U,ODg0Mw,RmFsc2U,MA,MA,djIwMjQuMQ,,;PxeAWRi6mhDqvUMfJhk9Tniu/8ZnOLQv64hLh05xWM+MPyBs3yYfs3vEn5TLW779QNr1k8F6tV3gOAoLG+JSPZoG3NXmdTe6LJya05W+zWyb0H+jj2ReXN2dNR9fbZNDd3ClAeuzNpsM0pw62aYpOe2Tp6fx9gOFx1/0g8g4/8g
da3d5d14-691f-4908-aa3c-fd3239734232;-8584865524854775808;VkVQUk9NUy5leGU=;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,NjE5MDczODdYWFhYWFhYWDA1Mw,Q0hSSVM,RmFsc2U,ODg5NA,RmFsc2U,MA,MA,djIwMjQuMQ,,;luo/kWHt4XRAYR+3s8m8QoRagBcvXLv0mHvCYU2VCIeACFord4tdtTGmSUvmGhEmUiAd7YvaTlDlFrlni6CWaVlxa1mdbWuWsNVUkRnyJZ8kOAt1A+3SGfHecCsqotTW7apXjwW5qXLZ/fcgutioe7xaXgniFQysshTdUWt26T8
@@ -99,7 +99,12 @@
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.0.20213.532, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" /> <Reference Include="C1.Win.4.8">
<HintPath>..\VEPROMS\packages\C1.Win.8.0.20233.631\lib\net48\C1.Win.4.8.dll</HintPath>
</Reference>
<Reference Include="C1.Win.C1FlexGrid.4.8">
<HintPath>..\VEPROMS\packages\C1.Win.C1FlexGrid.4.8.20233.631\lib\net48\C1.Win.C1FlexGrid.4.8.dll</HintPath>
</Reference>
<Reference Include="Csla"> <Reference Include="Csla">
<HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath>
</Reference> </Reference>
@@ -99,10 +99,6 @@ namespace VEPROMS
MyProcedure = procedureInfo; MyProcedure = procedureInfo;
InitializeComponent(); InitializeComponent();
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber; 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) private void dlgExportImport_Load(object sender, EventArgs e)
{ {
@@ -176,7 +172,6 @@ namespace VEPROMS
} }
else if (MyProcedure != null) else if (MyProcedure != null)
{ {
txtExport.Enabled = true;
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_")); txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
} }
} }
@@ -195,8 +190,6 @@ namespace VEPROMS
private bool successfullExport = true; private bool successfullExport = true;
private void btnDoExport_Click(object sender, EventArgs e) private void btnDoExport_Click(object sender, EventArgs e)
{ {
btnExport.Enabled = false; btnExport.Enabled = false;
string msg = "Finished Exporting:\n\n"; string msg = "Finished Exporting:\n\n";
if (_MyMode.ToUpper().Contains("FORMAT")) if (_MyMode.ToUpper().Contains("FORMAT"))
@@ -227,42 +220,6 @@ namespace VEPROMS
} }
else if (MyProcedure != null) 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; this.Cursor = Cursors.WaitCursor;
MyStart = DateTime.Now; MyStart = DateTime.Now;
btnDoExport.Enabled = false; btnDoExport.Enabled = false;
@@ -273,7 +230,7 @@ namespace VEPROMS
XmlElement xe = xd.CreateElement("formats"); XmlElement xe = xd.CreateElement("formats");
xd.DocumentElement.AppendChild(xe); xd.DocumentElement.AppendChild(xe);
ExportFormats(FormatInfoList.GetFormatInfoListUsed(), xe, "formats", false); ExportFormats(FormatInfoList.GetFormatInfoListUsed(), xe, "formats", false);
xd.Save(fileLocation); xd.Save(txtExport.Text);
TimeSpan elapsed = DateTime.Now.Subtract(MyStart); TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
lblExportStatus.Text = "Export Completed in " + elapsed.ToString(); lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
@@ -749,7 +706,7 @@ namespace VEPROMS
} }
catch (Exception ex) catch (Exception ex)
{ {
FlexibleMessageBox.Show(null, "The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); FlexibleMessageBox.Show("The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
_MyLog.Warn("Failure During Import", ex); _MyLog.Warn("Failure During Import", ex);
} }
return false; return false;
@@ -400,7 +400,6 @@ namespace VEPROMS
this.pnlImport.PerformLayout(); this.pnlImport.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
+13 -1
View File
@@ -45,6 +45,7 @@ namespace VEPROMS
this.itemContainer3 = new DevComponents.DotNetBar.ItemContainer(); this.itemContainer3 = new DevComponents.DotNetBar.ItemContainer();
this.btnNew = new DevComponents.DotNetBar.ButtonItem(); this.btnNew = new DevComponents.DotNetBar.ButtonItem();
this.btnOpen = new DevComponents.DotNetBar.ButtonItem(); this.btnOpen = new DevComponents.DotNetBar.ButtonItem();
this.btnPrint = new DevComponents.DotNetBar.ButtonItem();
this.btnPrepare = new DevComponents.DotNetBar.ButtonItem(); this.btnPrepare = new DevComponents.DotNetBar.ButtonItem();
this.btnAdmin = new DevComponents.DotNetBar.ButtonItem(); this.btnAdmin = new DevComponents.DotNetBar.ButtonItem();
this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem(); this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem();
@@ -338,6 +339,7 @@ namespace VEPROMS
this.itemContainer3.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.itemContainer3.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.btnNew, this.btnNew,
this.btnOpen, this.btnOpen,
this.btnPrint,
this.btnPrepare, this.btnPrepare,
this.btnAdmin}); this.btnAdmin});
// //
@@ -363,7 +365,16 @@ namespace VEPROMS
this.btnOpen.SubItemsExpandWidth = 24; this.btnOpen.SubItemsExpandWidth = 24;
this.btnOpen.Text = "&Open..."; this.btnOpen.Text = "&Open...";
this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click); this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
//
// btnPrint
//
this.btnPrint.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText;
this.btnPrint.Enabled = false;
this.btnPrint.Image = ((System.Drawing.Image)(resources.GetObject("btnPrint.Image")));
this.btnPrint.Name = "btnPrint";
this.btnPrint.SubItemsExpandWidth = 24;
this.btnPrint.Text = "Create &PDF";
this.btnPrint.Click += new System.EventHandler(this.btnPrint_Click);
// //
// btnPrepare // btnPrepare
// //
@@ -1635,6 +1646,7 @@ namespace VEPROMS
private DevComponents.DotNetBar.ButtonItem btnNew; private DevComponents.DotNetBar.ButtonItem btnNew;
private DevComponents.DotNetBar.ButtonItem btnOpen; private DevComponents.DotNetBar.ButtonItem btnOpen;
private DevComponents.DotNetBar.ButtonItem btnPrepare; private DevComponents.DotNetBar.ButtonItem btnPrepare;
private DevComponents.DotNetBar.ButtonItem btnPrint;
private DevComponents.DotNetBar.ItemContainer icRecentDocs; private DevComponents.DotNetBar.ItemContainer icRecentDocs;
private DevComponents.DotNetBar.LabelItem labelItem8; private DevComponents.DotNetBar.LabelItem labelItem8;
private DevComponents.DotNetBar.ItemContainer itemContainer5; private DevComponents.DotNetBar.ItemContainer itemContainer5;
+16 -27
View File
@@ -2098,6 +2098,7 @@ namespace VEPROMS
btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click); btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click);
btnAdmin.SubItems.Add(btnAdministrativeTools); btnAdmin.SubItems.Add(btnAdministrativeTools);
this.superTooltip1.SetSuperTooltip(btnPrint, new SuperTooltipInfo("Create PDF", null, null, null, null, eTooltipColor.Gray));
this.superTooltip1.SetSuperTooltip(btnExit, new SuperTooltipInfo("Exit", null, null, null, null, eTooltipColor.Gray)); this.superTooltip1.SetSuperTooltip(btnExit, new SuperTooltipInfo("Exit", null, null, null, null, eTooltipColor.Gray));
this.superTooltip1.SetSuperTooltip(btnOptions, new SuperTooltipInfo("Options", null, null, null, null, eTooltipColor.Gray)); this.superTooltip1.SetSuperTooltip(btnOptions, new SuperTooltipInfo("Options", null, null, null, null, eTooltipColor.Gray));
this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", null, null, null, null, eTooltipColor.Gray)); this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", null, null, null, null, eTooltipColor.Gray));
@@ -3125,46 +3126,24 @@ namespace VEPROMS
if (dvi != null) if (dvi != null)
{ {
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true); DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true);
if (dvi.MultiUnitCount == 0) if (dvi.MultiUnitCount == 0) prnDlg.SelectedSlave = -1;
{
prnDlg.SelectedSlave = -1;
}
else if (dvi.MultiUnitCount > 0)
{
string[] arguments = Environment.GetCommandLineArgs();
for (int i = 0; i < arguments.Length; i++)
{
if (arguments[i].Contains("/C="))
{
Console.WriteLine("In arguments loop");
//int num;
string[] childarg = arguments[i].Split('=');
if (int.TryParse(childarg[1], out int num))
{
prnDlg.SelectedSlave = num;
}
}
}
}
prnDlg.AllowDateTimePrefixSuffix = false; //C2018-033 don't append any selected date/time pdf file prefix or suffix (defined in working draft properties) prnDlg.AllowDateTimePrefixSuffix = false; //C2018-033 don't append any selected date/time pdf file prefix or suffix (defined in working draft properties)
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
//prnDlg.FormClosed += new FormClosedEventHandler(prnDlg_FormClosed); //prnDlg.FormClosed += new FormClosedEventHandler(prnDlg_FormClosed);
//while (!_RunNext) Application.DoEvents(); //while (!_RunNext) Application.DoEvents();
}
} }
}
ranAuto = true; ranAuto = true;
} }
}
}
if (ranAuto) if (ranAuto)
{ {
this.Close(); this.Close();
} }
} }
}
}
private FontFamily GetFamily(string name) private FontFamily GetFamily(string name)
{ {
@@ -4113,6 +4092,10 @@ namespace VEPROMS
lblUser.Text = tc.SelectedDisplayTabItem.MyUserRole; lblUser.Text = tc.SelectedDisplayTabItem.MyUserRole;
if (tc.SelectedDisplayTabItem.MyItemInfo.MyDocVersion.MultiUnitCount > 1)
btnPrint.Visible = false;
else
btnPrint.Visible = true;
// Reset the ribbon buttons B2016-148 (ex. a copystep done in a different procedure tab my require the paste step options to be active // Reset the ribbon buttons B2016-148 (ex. a copystep done in a different procedure tab my require the paste step options to be active
if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.MyStepTabPanel != null) // MyStepTabPanel will be null if the active tab is a Word Attachment if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.MyStepTabPanel != null) // MyStepTabPanel will be null if the active tab is a Word Attachment
@@ -4367,6 +4350,7 @@ namespace VEPROMS
ctrlAnnotationDetails.UpdateAnnotationGrid(_CurrentItem); // set the CurrentItem (send Message) when the MSWord section is opened. ctrlAnnotationDetails.UpdateAnnotationGrid(_CurrentItem); // set the CurrentItem (send Message) when the MSWord section is opened.
} }
btnPrint.Enabled = (_CurrentItem != null);
} }
void _LastStepRTB_EditModeChanged(object sender, EventArgs args) void _LastStepRTB_EditModeChanged(object sender, EventArgs args)
@@ -4858,7 +4842,12 @@ namespace VEPROMS
StepRTB.MyFontFamily = cmbFont.SelectedValue as FontFamily; StepRTB.MyFontFamily = cmbFont.SelectedValue as FontFamily;
} }
private void btnPrint_Click(object sender, EventArgs e)
{
DlgPrintProcedure prnDlg = new DlgPrintProcedure(this._CurrentItem.MyProcedure);
prnDlg.MySessionInfo = MySessionInfo;
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
}
private void lblResolution_Click(object sender, EventArgs e) private void lblResolution_Click(object sender, EventArgs e)
{ {
@@ -254,7 +254,7 @@ namespace VEPROMS
// //
this.ppBtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.ppBtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.ppBtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.ppBtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.ppBtnCancel.Location = new System.Drawing.Point(742, 338); this.ppBtnCancel.Location = new System.Drawing.Point(742, 342);
this.ppBtnCancel.Margin = new System.Windows.Forms.Padding(2); this.ppBtnCancel.Margin = new System.Windows.Forms.Padding(2);
this.ppBtnCancel.Name = "ppBtnCancel"; this.ppBtnCancel.Name = "ppBtnCancel";
this.ppBtnCancel.Size = new System.Drawing.Size(56, 21); this.ppBtnCancel.Size = new System.Drawing.Size(56, 21);
@@ -266,7 +266,7 @@ namespace VEPROMS
// ppBtnOK // ppBtnOK
// //
this.ppBtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.ppBtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.ppBtnOK.Location = new System.Drawing.Point(669, 338); this.ppBtnOK.Location = new System.Drawing.Point(669, 342);
this.ppBtnOK.Margin = new System.Windows.Forms.Padding(2); this.ppBtnOK.Margin = new System.Windows.Forms.Padding(2);
this.ppBtnOK.Name = "ppBtnOK"; this.ppBtnOK.Name = "ppBtnOK";
this.ppBtnOK.Size = new System.Drawing.Size(56, 21); this.ppBtnOK.Size = new System.Drawing.Size(56, 21);
@@ -29,7 +29,6 @@ namespace VEPROMS
private List<MiniConfig> _DeletedApples; private List<MiniConfig> _DeletedApples;
private List<EnhancedMiniConfig> _Enhanced; private List<EnhancedMiniConfig> _Enhanced;
private DocVersionConfig _DocVersionConfig; private DocVersionConfig _DocVersionConfig;
private string _OrgPDFPath; // B2024-030 used to save last PDF path
// Default values // Default values
private string _DefaultFormatName = null; private string _DefaultFormatName = null;
@@ -98,7 +97,6 @@ namespace VEPROMS
_Initializing = true; _Initializing = true;
InitializeComponent(); InitializeComponent();
_OrgPDFPath = _DocVersionConfig.Print_PDFLocation; // B2024-030 save last PDF path
btnGeneral.PerformClick(); // always start with General tab or button btnGeneral.PerformClick(); // always start with General tab or button
_Initializing = false; _Initializing = false;
@@ -325,6 +323,8 @@ namespace VEPROMS
tiApplicability.Visible = false; tiApplicability.Visible = false;
} }
ppTxtBxPDFLoc.TextChanged += new EventHandler(ppTxtBxPDFLoc_TextChanged);
//end add new applicability stuff //end add new applicability stuff
lblProcSetRev.Visible = ppRTxtProcSetRev.Visible = _DocVersionConfig.MyDocVersion.MyDocVersionInfo.ActiveFormat.MyStepSectionPrintData.UseXtraRevNumber; lblProcSetRev.Visible = ppRTxtProcSetRev.Visible = _DocVersionConfig.MyDocVersion.MyDocVersionInfo.ActiveFormat.MyStepSectionPrintData.UseXtraRevNumber;
@@ -538,32 +538,11 @@ namespace VEPROMS
} }
} }
//B2024-030 Check the PDF Location path and prompt to create the folders if needed // The following code was added to fix Bug B2013-117
private void CheckPDFLocationPath() private void ppTxtBxPDFLoc_TextChanged(object sender, EventArgs e)
{ {
string pdfloc = ppTxtBxPDFLoc.Text; if (_Initializing == false)
if (pdfloc == string.Empty) return; _DocVersionConfig.Print_PDFLocation = ppTxtBxPDFLoc.Text;
if (!Directory.Exists(ppTxtBxPDFLoc.Text))
{
string msg = string.Format(" The Folder: '{0}' does not exist. \n\nCreate it?", ppTxtBxPDFLoc.Text);
DialogResult dr = MessageBox.Show(msg, "PDF Location Folder Not Found", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
try
{
Directory.CreateDirectory(ppTxtBxPDFLoc.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error trying to create folder", MessageBoxButtons.OK, MessageBoxIcon.Error);
_DocVersionConfig.Print_PDFLocation = _OrgPDFPath; // reset to the path we started with
}
}
else
{
_DocVersionConfig.Print_PDFLocation = _OrgPDFPath; // reset to the path we started with
}
}
} }
private string AddSlaveNode(MiniConfig mc) private string AddSlaveNode(MiniConfig mc)
@@ -609,9 +588,6 @@ namespace VEPROMS
private void btnVersionsPropOK_Click(object sender, EventArgs e) private void btnVersionsPropOK_Click(object sender, EventArgs e)
{ {
//B2024-030 Check the PDF Location path and prompt to create the folders if needed
CheckPDFLocationPath();
docVersionConfigBindingSource.EndEdit(); // need to end the edit session first or any format selection chanage will not stick B2015-157 docVersionConfigBindingSource.EndEdit(); // need to end the edit session first or any format selection chanage will not stick B2015-157
// if there is a change to the format, clean up any overridden formats that point to the selected item before saving the format change: // if there is a change to the format, clean up any overridden formats that point to the selected item before saving the format change:
@@ -797,6 +773,7 @@ namespace VEPROMS
// B2019-132 update the association count for this working draft // B2019-132 update the association count for this working draft
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.RefreshDocVersionAssociations(); _DocVersionConfig.MyDocVersion.MyDocVersionInfo.RefreshDocVersionAssociations();
this.Close(); this.Close();
} }
@@ -468,12 +468,10 @@ namespace VEPROMS.CSLA.Library
return text; return text;
} }
// B2022-035: resolve unit specific designators - moved code to here so that other objects can use it // B2022-035: resolve unit specific designators - moved code to here so that other objects can use it
// B2024-025 added <ID> to the replace list
public static string ResolveUnitSpecific(DocVersionInfo mydocversion, string text) public static string ResolveUnitSpecific(DocVersionInfo mydocversion, string text)
{ {
if (mydocversion == null) return text; if (mydocversion == null) return text;
text = Regex.Replace(text, @"\<U\>", mydocversion.DocVersionConfig.Unit_Number, RegexOptions.IgnoreCase); text = Regex.Replace(text, @"\<U\>", mydocversion.DocVersionConfig.Unit_Number, RegexOptions.IgnoreCase);
text = Regex.Replace(text, @"\<ID\>", mydocversion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
text = Regex.Replace(text, @"\<(U(-|\\u8209\?)ID)\>", mydocversion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase); text = Regex.Replace(text, @"\<(U(-|\\u8209\?)ID)\>", mydocversion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
text = Regex.Replace(text, @"\<(U(-|\\u8209\?)NAME)\>", mydocversion.DocVersionConfig.Unit_Name, RegexOptions.IgnoreCase); text = Regex.Replace(text, @"\<(U(-|\\u8209\?)NAME)\>", mydocversion.DocVersionConfig.Unit_Name, RegexOptions.IgnoreCase);
text = Regex.Replace(text, @"\<(U(-|\\u8209\?)TEXT)\>", mydocversion.DocVersionConfig.Unit_Text, RegexOptions.IgnoreCase); text = Regex.Replace(text, @"\<(U(-|\\u8209\?)TEXT)\>", mydocversion.DocVersionConfig.Unit_Text, RegexOptions.IgnoreCase);
+12 -15
View File
@@ -2934,8 +2934,7 @@ namespace VEPROMS.CSLA.Library
{ {
string str = MyContent.Text; string str = MyContent.Text;
// B2022-035: resolve unit specific designators // B2022-035: resolve unit specific designators
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false, " "); // B2024-013 added " " to replace hard returns with a space instead of semi-colon return ConvertToDisplayText(str, false, " "); // B2024-013 added " " to replace hard returns with a space instead of semi-colon
} }
} }
@@ -2947,8 +2946,7 @@ namespace VEPROMS.CSLA.Library
{ {
string str = MyContent.Text; string str = MyContent.Text;
// B2022-035: resolve unit specific designators // B2022-035: resolve unit specific designators
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false, ""); // pass in empty string for hard retun char will keep hard return return ConvertToDisplayText(str, false, ""); // pass in empty string for hard retun char will keep hard return
} }
} }
@@ -2962,8 +2960,7 @@ namespace VEPROMS.CSLA.Library
string str = MyContent.Text; string str = MyContent.Text;
if (MyDocVersion != null) if (MyDocVersion != null)
{ {
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) str = Regex.Replace(str, @"\<[uU]\>", MyDocVersion.DocVersionConfig.Unit_Number);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str);
} }
else else
{ {
@@ -2982,13 +2979,16 @@ namespace VEPROMS.CSLA.Library
if (MyDocVersion != null) if (MyDocVersion != null)
{ {
// B2022-035: resolve unit specific designators // B2022-035: resolve unit specific designators
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) if (str.ToUpper().Contains("<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str);
} }
else else
{ {
_MyLog.WarnFormat("Disconnected Data - ItemID = {0}", ItemID); _MyLog.WarnFormat("Disconnected Data - ItemID = {0}", ItemID);
} }
//if (str.Contains("<u>"))
// str = str.Replace("<u>", MyDocVersion.DocVersionConfig.Unit_Number);
//if (str.Contains("<U>"))
// str = str.Replace("<U>", MyDocVersion.DocVersionConfig.Unit_Number);
return ConvertToDisplayText(str); return ConvertToDisplayText(str);
} }
} }
@@ -3047,8 +3047,7 @@ namespace VEPROMS.CSLA.Library
string str = MyContent.Text; string str = MyContent.Text;
if (MyDocVersion != null) if (MyDocVersion != null)
{ {
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) str = Regex.Replace(str, @"\<[uU]\>", MyDocVersion.DocVersionConfig.Unit_Number);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str);
} }
else else
{ {
@@ -3081,8 +3080,8 @@ namespace VEPROMS.CSLA.Library
} }
else else
str = MyContent.Number; str = MyContent.Number;
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) str = Regex.Replace(str, @"\<U-ID\>", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str); str = Regex.Replace(str, @"\<ID\>", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
} }
else else
{ {
@@ -3095,9 +3094,7 @@ namespace VEPROMS.CSLA.Library
// str = str.Replace(@"<S\u8209?ID>", MyDocVersion.DocVersionConfig.Unit_ID); // str = str.Replace(@"<S\u8209?ID>", MyDocVersion.DocVersionConfig.Unit_ID);
str = ConvertToDisplayText(str); str = ConvertToDisplayText(str);
if (MyDocVersion != null) // B2020-086 check for null doc version - happens if item we are trying to open is no longer there (disconnected) if (MyDocVersion != null) // B2020-086 check for null doc version - happens if item we are trying to open is no longer there (disconnected)
// B2017-019 - process "<u>" in section number str = Regex.Replace(str, @"\<[uU]\>", MyDocVersion.DocVersionConfig.Unit_Number); // B2017-019 - process "<u>" in section number
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>)
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(MyDocVersion, str);
return str; return str;
} }
//get { return ConvertToDisplayText(MyContent.Number); } //get { return ConvertToDisplayText(MyContent.Number); }
@@ -1309,8 +1309,7 @@ namespace VEPROMS.CSLA.Library
else if (addType == EAddpingPart.Replace) // what about user interface for enhanced pasted steps? else if (addType == EAddpingPart.Replace) // what about user interface for enhanced pasted steps?
{ {
ItemInfo enhReplaceItem = ItemInfo.Get(edSource.ItemID); ItemInfo enhReplaceItem = ItemInfo.Get(edSource.ItemID);
TreeNode trn = null; newEnhancedItemInfo = Item.PasteReplace(enhReplaceItem, tmpCopyEnhancedID, chgid);
newEnhancedItemInfo = Item.PasteReplace(enhReplaceItem, tmpCopyEnhancedID, chgid, trn);
} }
// update the config data for the new enhanced item (procedure, section or step) to point back to the correct source // update the config data for the new enhanced item (procedure, section or step) to point back to the correct source
@@ -1944,54 +1943,6 @@ namespace VEPROMS.CSLA.Library
} }
#endregion #endregion
#region DataPortal #region DataPortal
private void DataPortal_Fetch(PastingPartEnhancedCriteria criteria)
{
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.DataPortal_Fetch", GetHashCode());
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
Csla.ApplicationContext.LocalContext["cn"] = cn;
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.AddWithValue("@StartItemID", criteria.StartItemID); // copy children
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID); //copy to
cm.Parameters.AddWithValue("@Type", criteria.Type);
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
cm.Parameters.AddWithValue("@UserID", criteria.UserID);
SqlParameter param_ItemID = new SqlParameter("@NewItemID", SqlDbType.Int);
param_ItemID.Direction = ParameterDirection.Output;
cm.Parameters.Add(param_ItemID);
cm.CommandText = "PasteItemEnhancedReplace";
//cm.CommandText = "PasteItemReplace";
cm.CommandTimeout = Database.DefaultTimeout;
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
//int newItemID = (int)cm.Parameters["@NewItemID"].Value;
if (!dr.Read())
{
_ErrorMessage = "No Record Found";
return;
}
ReadData(dr);
}
}
// removing of item only needed for local data portal
if (Csla.ApplicationContext.ExecutionLocation == Csla.ApplicationContext.ExecutionLocations.Client)
Csla.ApplicationContext.LocalContext.Remove("cn");
}
}
catch (Exception ex)
{
if (!ex.Message.Contains("This step has been deleted") && !ex.Message.Contains("This current step has been deleted in another session"))
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfo.DataPortal_Fetch", ex);
}
_ErrorMessage = ex.Message;
throw new DbCslaException("ItemInfo.DataPortal_Fetch", ex);
}
}
private void DataPortal_Fetch(PastingPartCriteria criteria) private void DataPortal_Fetch(PastingPartCriteria criteria)
{ {
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.DataPortal_Fetch", GetHashCode()); if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.DataPortal_Fetch", GetHashCode());
@@ -2114,68 +2065,6 @@ namespace VEPROMS.CSLA.Library
} }
} }
#endregion #endregion
#region PastingPartEnhancedCriteria
[Serializable()]
public class PastingPartEnhancedCriteria
{
#region Properties
private int _StartItemID;
public int StartItemID
{
get { return _StartItemID; }
set { _StartItemID = value; }
}
private int _ItemID; // paste relative to this itemid
public int ItemID
{
get { return _ItemID; }
set { _ItemID = value; }
}
private EAddpingPart _AddType;
public EAddpingPart AddType
{
get { return _AddType; }
set { _AddType = value; }
}
private int? _FromType = null;
public int? FromType
{
get { return _FromType; }
set { _FromType = value; }
}
private int? _Type = null;
public int? Type
{
get { return _Type; }
set { _Type = value; }
}
private DateTime _DTS;
public DateTime DTS
{
get { return _DTS; }
set { _DTS = value; }
}
private string _UserID;
public string UserID
{
get { return _UserID; }
set { _UserID = value; }
}
#endregion
#region Constructor
public PastingPartEnhancedCriteria(int startItemid, int itemID, EAddpingPart addType, int? type, int? fromType, DateTime dts, string userID)
{
_StartItemID = startItemid;
_ItemID = itemID;
_AddType = addType;
_Type = type;
_FromType = fromType;
_DTS = dts;
_UserID = userID;
}
#endregion
}
#endregion
#region PastingPartCriteria #region PastingPartCriteria
[Serializable()] [Serializable()]
public class PastingPartCriteria public class PastingPartCriteria
@@ -2466,17 +2355,6 @@ namespace VEPROMS.CSLA.Library
_MyPrevious = null; // Reset list so that the next line gets a new list _MyPrevious = null; // Reset list so that the next line gets a new list
if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value
} }
internal static ItemInfo CopyPasteReplaceEnhancedItemInfoFetch(int copyStartID, ItemInfo itemInfo) // int itemID, int? type, int? fromType)
{
ItemInfo tmp = null;
tmp = DataPortal.Fetch<StepInfo>(new ItemInfo.PastingPartEnhancedCriteria(copyStartID, itemInfo.ItemID, ItemInfo.EAddpingPart.Replace, itemInfo.MyContent.Type, itemInfo.MyContent.Type, DateTime.Now, Volian.Base.Library.VlnSettings.UserID));
if (tmp == null)
{
tmp = ItemInfo.Get(copyStartID);
}
AddToCache(tmp);
return tmp;
}
internal static ItemInfo CopyPasteReplaceItemInfoFetch(int copyStartID, ItemInfo itemInfo) // int itemID, int? type, int? fromType) internal static ItemInfo CopyPasteReplaceItemInfoFetch(int copyStartID, ItemInfo itemInfo) // int itemID, int? type, int? fromType)
{ {
ItemInfo tmp = null; ItemInfo tmp = null;
@@ -2619,24 +2497,13 @@ namespace VEPROMS.CSLA.Library
} }
#endregion #endregion
#region PasteReplace #region PasteReplace
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid)
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, TreeNode treeNodeReplace)
{ {
if (itemInfo.IsEnhancedStep)
{
// don't replace the step, just remove current children & add new children:
if (!CanDeleteObject())
throw new System.Security.SecurityException("User not authorized to remove a Item");
}
bool tmp= false; bool tmp= false;
return PasteReplace(itemInfo, copyStartID, chgid, treeNodeReplace, ref tmp); 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 // 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
// 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 public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, ref bool firstTrans)
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, TreeNode treeNodeReplace, ref bool firstTrans)
{ {
firstTrans = false; firstTrans = false;
if (!CanDeleteObject()) if (!CanDeleteObject())
@@ -2646,19 +2513,10 @@ namespace VEPROMS.CSLA.Library
// B2023-101 Handle Paste Replace when procedure to be replaced has Incoming Transitions, i.e. do a separate try/catch for this case // B2023-101 Handle Paste Replace when procedure to be replaced has Incoming Transitions, i.e. do a separate try/catch for this case
ItemInfo newItemInfo = null; ItemInfo newItemInfo = null;
try try
{
// if this item is an enhanced item, do a pastereplace specific to it:
if (itemInfo.IsEnhancedStep)
{
newItemInfo = ItemInfo.CopyPasteReplaceEnhancedItemInfoFetch(copyStartID, itemInfo);
if (newItemInfo == null) return null;
}
else
{ {
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); //itemInfo.ItemID, itemInfo.MyContent.Type, itemInfo.MyContent.Type); newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); //itemInfo.ItemID, itemInfo.MyContent.Type, itemInfo.MyContent.Type);
if (newItemInfo == null) return null; if (newItemInfo == null) return null;
} }
}
catch (Exception ex1) catch (Exception ex1)
{ {
if (ex1.Message.Contains("has External Transitions and has no next step") if (ex1.Message.Contains("has External Transitions and has no next step")
@@ -2702,14 +2560,7 @@ namespace VEPROMS.CSLA.Library
} }
else else
{ {
//Create tree node for copied procedure when no other procedures exist in the folder newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
VETreeNode vtn = treeNodeReplace as VETreeNode;
DocVersionInfo dvi = vtn.VEObject as DocVersionInfo;
ItemInfo newProc = dvi.PasteChild(copyStartID);
VETreeNode tn1 = new VETreeNode(newProc);
treeNodeReplace.Nodes.Add(tn1); // add tree node to end of list.
treeNodeReplace = tn1;
} }
return newItemInfo; return newItemInfo;
} }
@@ -1229,8 +1229,7 @@ namespace VEPROMS.CSLA.Library
default: default:
//F2024-048 use a hard space (\\u160;) instead of a space in the page number text //F2024-048 use a hard space (\\u160;) instead of a space in the page number text
// to keep that text together on the page // to keep that text together on the page
//B2024-026: hard space unicode ends with '?' not ';' tb.Append(string.Format(" (Page{0}{1})", "\\u160;", tb._ToItem.PageNumber + 1));
tb.Append(string.Format(" (Page{0}{1})", "\\u160?", tb._ToItem.PageNumber + 1));
break; break;
} }
} }
@@ -1541,8 +1540,8 @@ namespace VEPROMS.CSLA.Library
ItemInfo tmpitm = TranGetSectionItem(itminfo); ItemInfo tmpitm = TranGetSectionItem(itminfo);
if (!tmpitm.IsSection) return ""; if (!tmpitm.IsSection) return "";
string str = tmpitm.MyContent.Number; string str = tmpitm.MyContent.Number;
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) str = Regex.Replace(str, @"\<U\>", itminfo.MyDocVersion.DocVersionConfig.Unit_Number, RegexOptions.IgnoreCase );
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(itminfo.MyDocVersion, str); str = Regex.Replace(str, @"\<ID\>", itminfo.MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
return (str); return (str);
} }
private static string TranGetSectionNumber(TransitionBuilder tb, bool allLevels) private static string TranGetSectionNumber(TransitionBuilder tb, bool allLevels)
@@ -1567,8 +1566,8 @@ namespace VEPROMS.CSLA.Library
} }
//string str = tmpitm.MyContent.Number; //string str = tmpitm.MyContent.Number;
string str = BuildSectionPath(ToSections); string str = BuildSectionPath(ToSections);
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) str = Regex.Replace(str, @"\<U\>", tb._ToItem.MyDocVersion.DocVersionConfig.Unit_Number, RegexOptions.IgnoreCase);
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(tb._ToItem.MyDocVersion, str); str = Regex.Replace(str, @"\<ID\>", tb._ToItem.MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase);
//if (!str.EndsWith(".") && tb._ToItem.ItemID != tb._ToItem.ActiveSection.ItemID) //if (!str.EndsWith(".") && tb._ToItem.ItemID != tb._ToItem.ActiveSection.ItemID)
tb.StepPrefix = "."; tb.StepPrefix = ".";
tb.SectionNumberLength = str.Length; tb.SectionNumberLength = str.Length;
@@ -56,9 +56,6 @@ namespace Volian.Controls.Library
private ROFSTLookup.rochild selectedChld; private ROFSTLookup.rochild selectedChld;
private DisplayTags displayTags;
#endregion #endregion
#region Properties #region Properties
@@ -271,10 +268,6 @@ namespace Volian.Controls.Library
_searchTimer.Stop(); _searchTimer.Stop();
} }
// Initialize the DisplayTags object
displayTags = new DisplayTags();
_progressBar = null; _progressBar = null;
} }
@@ -975,9 +968,6 @@ namespace Volian.Controls.Library
errormsg = (replacingRO) ? "a graphics RO with a non-graphcis RO." : "a Graphics RO in an non-Figure or a non-Accessory Page type."; errormsg = (replacingRO) ? "a graphics RO with a non-graphcis RO." : "a Graphics RO in an non-Figure or a non-Accessory Page type.";
//TODO: Prompt user to insert a new substep type that handles x/y Plots and place this RO into it //TODO: Prompt user to insert a new substep type that handles x/y Plots and place this RO into it
goodToGo = false; goodToGo = false;
} }
break; break;
} }
@@ -669,7 +669,7 @@ namespace Volian.Controls.Library
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
string key = "Item - " + proc.ItemID.ToString(); string key = "Item - " + proc.ItemID.ToString();
if (_MyDisplayTabItems.ContainsKey(key) && pasteType != ItemInfo.EAddpingPart.Replace) // If procedure page open use it unless replace if (_MyDisplayTabItems.ContainsKey(key)) // If procedure page open use it
{ {
DisplayTabItem pg = _MyDisplayTabItems[key]; DisplayTabItem pg = _MyDisplayTabItems[key];
if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) && if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) &&
@@ -688,14 +688,8 @@ namespace Volian.Controls.Library
edtitm.PasteSiblingAfter(copyStartID); edtitm.PasteSiblingAfter(copyStartID);
break; break;
case ItemInfo.EAddpingPart.Replace: case ItemInfo.EAddpingPart.Replace:
EditItem ei = edtitm.PasteReplace(copyStartID); EditItem ei = edtitm.PasteReplace(copyStartID);
if (ei == null) if (ei == null) return false; //B2017-179 PasteReplace will return null if was aborted
{
CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab.
return false; //B2017-179 PasteReplace will return null if was aborted
}
if (ei.MyItemInfo.ItemID != edtitm.MyItemInfo.ItemID) if (ei.MyItemInfo.ItemID != edtitm.MyItemInfo.ItemID)
{ {
edtitm.Dispose(); edtitm.Dispose();
@@ -708,12 +702,6 @@ namespace Volian.Controls.Library
return true; return true;
} }
} }
else if (_MyDisplayTabItems.ContainsKey(key) && pasteType == ItemInfo.EAddpingPart.Replace)
{
CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab.
return false; //B2017-179 PasteReplace will return null if was aborted
}
return false; return false;
} }
+1 -1
View File
@@ -640,7 +640,7 @@ namespace Volian.Controls.Library
this.btnFSrestore.Location = new System.Drawing.Point(112, 27); this.btnFSrestore.Location = new System.Drawing.Point(112, 27);
this.btnFSrestore.Margin = new System.Windows.Forms.Padding(2); this.btnFSrestore.Margin = new System.Windows.Forms.Padding(2);
this.btnFSrestore.Name = "btnFSrestore"; this.btnFSrestore.Name = "btnFSrestore";
this.btnFSrestore.Size = new System.Drawing.Size(54, 20); this.btnFSrestore.Size = new System.Drawing.Size(54, 26);
this.btnFSrestore.TabIndex = 6; this.btnFSrestore.TabIndex = 6;
this.btnFSrestore.Text = "Restore"; this.btnFSrestore.Text = "Restore";
this.btnFSrestore.UseVisualStyleBackColor = true; this.btnFSrestore.UseVisualStyleBackColor = true;
+9 -67
View File
@@ -96,22 +96,6 @@ namespace Volian.Controls.Library
get { return Visible; } get { return Visible; }
set { if (Visible != value) Visible = value; } set { if (Visible != value) Visible = value; }
} }
/// <summary>
/// Expose text properties for height and widht to handle selecting RO Image Types.
/// </summary>
public string TbFSwd
{
get {return tbFSWd.Text;}
set { tbFSWd.Text = value; tbFSWd.Refresh(); trBarFS.Value = Convert.ToInt32(value); }
}
public string TbFSht
{
get { return tbFSHt.Text; }
set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); }
}
#endregion #endregion
#region Constructor #region Constructor
public DisplayTags() public DisplayTags()
@@ -399,8 +383,6 @@ namespace Volian.Controls.Library
cmbCheckoff.Enabled = false; cmbCheckoff.Enabled = false;
} }
// show the part of panel for resizing a figure (if figure already exists: MyImage is set for non-RO existing images & content.text has a link in it) // show the part of panel for resizing a figure (if figure already exists: MyImage is set for non-RO existing images & content.text has a link in it)
if (MyEditItem.MyItemInfo.IsFigure && (MyEditItem.MyItemInfo.MyContent.MyImage != null || MyEditItem.MyItemInfo.MyContent.Text.ToUpper().Contains("#LINK"))) if (MyEditItem.MyItemInfo.IsFigure && (MyEditItem.MyItemInfo.MyContent.MyImage != null || MyEditItem.MyItemInfo.MyContent.Text.ToUpper().Contains("#LINK")))
{ {
@@ -411,38 +393,17 @@ namespace Volian.Controls.Library
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin; float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
SetFigure(wd1, wd2); if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1;
trBarFS.Minimum = Math.Min(wd, 72);
tbFSWd.Text = wd.ToString(); trBarFS.Value = (int)wd;
tbFSHt.Text = ht.ToString(); ImageItem ii = MyEditItem as ImageItem;
_origFigureSizeWidth = ii.MyPictureBox.Width;
//trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum); tbFSWd.Text = ii.MyPictureBox.Width.ToString();
//if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1; tbFSHt.Text = ii.MyPictureBox.Height.ToString();
//trBarFS.Minimum = Math.Min(wd, 72);
//trBarFS.Value = (int)wd;
//ImageItem ii = MyEditItem as ImageItem;
//_origFigureSizeWidth = ii.MyPictureBox.Width;
//tbFSWd.Text = ii.MyPictureBox.Width.ToString();
//tbFSHt.Text = ii.MyPictureBox.Height.ToString();
} }
else else
{ {
if (MyEditItem.MyItemInfo.IsFigure)
{
//No Current image, but still show groupPanelFigSize, will adjust when file is selected, but let's give it a default
//size on using the picturebox.
groupPanelFigSize.Visible = true;
int ht = (MyEditItem as ImageItem).MyPictureBox.Height;
int wd = (MyEditItem as ImageItem).MyPictureBox.Width;
_origFigureSizeRatio = (float)ht / (float)wd; // use this to keep width/height ratio while changing size.
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
SetFigure(wd1, wd2);
}
else
groupPanelFigSize.Visible = false; groupPanelFigSize.Visible = false;
} }
@@ -555,22 +516,6 @@ namespace Volian.Controls.Library
} }
_Initalizing = false; _Initalizing = false;
} }
public void SetFigure(double wd, double wd2)
{
// Check MyEditItem type and cast if needed
ImageItem ii = MyEditItem as ImageItem;
if (ii == null) return;
// Set the values as needed
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
if (wd > trBarFS.Maximum) trBarFS.Maximum = (int)wd + 1;
trBarFS.Minimum = Math.Min((int)wd, 72);
trBarFS.Value = (int)wd;
_origFigureSizeWidth = ii.MyPictureBox.Width;
//tbFSWd.Text = ii.MyPictureBox.Width.ToString();
//tbFSHt.Text = ii.MyPictureBox.Height.ToString();
}
private int DoListStepTypes(FormatData fmtdata, StepData topType, string curType) private int DoListStepTypes(FormatData fmtdata, StepData topType, string curType)
{ {
int cursel=-1; int cursel=-1;
@@ -912,7 +857,7 @@ namespace Volian.Controls.Library
} }
} }
private float _origFigureSizeRatio = 0; // keep original ratio & width in case of 'restore' private float _origFigureSizeRatio = 0; // keep original ratio & width in case of 'restore'
public int _origFigureSizeWidth = 0; private int _origFigureSizeWidth = 0;
// support user changing size using slider. This saves change back to ImageItem and sets // support user changing size using slider. This saves change back to ImageItem and sets
// width/height text boxes to slider values. // width/height text boxes to slider values.
private void trBarFS_Scroll(object sender, EventArgs e) private void trBarFS_Scroll(object sender, EventArgs e)
@@ -925,8 +870,6 @@ namespace Volian.Controls.Library
} }
// restore the orignal image size // restore the orignal image size
private void btnFSrestore_Click(object sender, EventArgs e) private void btnFSrestore_Click(object sender, EventArgs e)
{
if (_origFigureSizeWidth != 0)
{ {
tbFSWd.Text = _origFigureSizeWidth.ToString(); tbFSWd.Text = _origFigureSizeWidth.ToString();
int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth); int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth);
@@ -934,7 +877,6 @@ namespace Volian.Controls.Library
(MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht); (MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht);
trBarFS.Value = _origFigureSizeWidth; trBarFS.Value = _origFigureSizeWidth;
} }
}
// user entered width in text box, this event gets called on leave of text box. // user entered width in text box, this event gets called on leave of text box.
private void tbFSWd_Leave(object sender, EventArgs e) private void tbFSWd_Leave(object sender, EventArgs e)
{ {
+16 -34
View File
@@ -1209,7 +1209,7 @@ namespace Volian.Controls.Library
{ {
EditItem child = null; EditItem child = null;
if (MyItemInfo.IsFigure) if (MyItemInfo.IsFigure)
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem, FigInsType, _MyStepPropertiesPanel); child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem, FigInsType);
else if (MyItemInfo.IsRtfRaw) else if (MyItemInfo.IsRtfRaw)
child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem); child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem);
else if (MyItemInfo.MyContent.MyGrid != null) else if (MyItemInfo.MyContent.MyGrid != null)
@@ -1222,7 +1222,7 @@ namespace Volian.Controls.Library
{ {
EditItem child = null; EditItem child = null;
if (MyItemInfo.IsFigure) if (MyItemInfo.IsFigure)
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem, FigInsType, _MyStepPropertiesPanel); child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem, FigInsType);
else if (MyItemInfo.IsRtfRaw) else if (MyItemInfo.IsRtfRaw)
child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem); child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem);
if (MyItemInfo.MyContent.MyGrid != null) if (MyItemInfo.MyContent.MyGrid != null)
@@ -1825,8 +1825,7 @@ namespace Volian.Controls.Library
EditItem newFocus = null; EditItem newFocus = null;
EditItem nextEditItem = MyNextEditItem; EditItem nextEditItem = MyNextEditItem;
EditItem prevEditItem = MyPreviousEditItem; EditItem prevEditItem = MyPreviousEditItem;
//if (MyStepPanel?.SelectedEditItem?.ActiveParent == null) return null; //Was causing an error// when active parent was null and the replaced proc was opened in the editor. EditItem parentEditItem = ActiveParent;
EditItem parentEditItem = MyStepPanel?.SelectedEditItem?.ActiveParent;
StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig; StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig;
int TopMostYBefore = TopMostEditItem.Top; int TopMostYBefore = TopMostEditItem.Top;
@@ -1836,8 +1835,7 @@ namespace Volian.Controls.Library
bool gotoFirstTrans = false; bool gotoFirstTrans = false;
try try
{ {
TreeNode treeNodeReplace = null; newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), ref gotoFirstTrans);
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), treeNodeReplace, ref gotoFirstTrans);
if (gotoFirstTrans) //B2017-179 could not replace step, we are positioning onto the first transition that needs resolved if (gotoFirstTrans) //B2017-179 could not replace step, we are positioning onto the first transition that needs resolved
{ {
MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(newItemInfo); MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(newItemInfo);
@@ -1936,7 +1934,7 @@ namespace Volian.Controls.Library
sia.IdentifyChildren(highlight); sia.IdentifyChildren(highlight);
} }
} }
if (MyBeforeEditItems != null && !MyItemInfo.IsEnhancedStep) if (MyBeforeEditItems != null)
{ {
foreach (EditItem sib in MyBeforeEditItems) foreach (EditItem sib in MyBeforeEditItems)
{ {
@@ -3585,9 +3583,6 @@ namespace Volian.Controls.Library
private string ResolveUnitApp(DocVersionInfo dvi, string str) private string ResolveUnitApp(DocVersionInfo dvi, string str)
{ {
if (dvi == null) return str; if (dvi == null) return str;
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>)
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(dvi, str);
// look for un-resolved tokens and replace less/greater than chars with "*?" and "?*" respectively
string tmp = str.ToUpper(); string tmp = str.ToUpper();
int sindx = tmp.IndexOf("<U"); int sindx = tmp.IndexOf("<U");
int eindx = tmp.IndexOf(">", sindx + 1); int eindx = tmp.IndexOf(">", sindx + 1);
@@ -3596,34 +3591,21 @@ namespace Volian.Controls.Library
{ {
reptmp = str.Substring(sindx, eindx - sindx + 1); reptmp = str.Substring(sindx, eindx - sindx + 1);
tmp = reptmp.ToUpper(); tmp = reptmp.ToUpper();
str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*")); // unresolved token if (tmp == "<U>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
else if (tmp == "<U-TEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Text);
else if (tmp == "<U-NUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
else if (tmp == "<U-NAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Name);
else if (tmp == "<U-ID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_ID);
// B2021-145: For applicability, the tree view & pdf file name are not getting resolved when using any of the OTHER tokens
else if (tmp == "<U-OTHERTEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Text);
else if (tmp == "<U-OTHERNUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Number);
else if (tmp == "<U-OTHERNAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Name);
else if (tmp == "<U-OTHERID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_ID);
else str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*"));
tmp = str.ToUpper(); tmp = str.ToUpper();
sindx = tmp.IndexOf("<U"); sindx = tmp.IndexOf("<U");
eindx = tmp.IndexOf(">", sindx + 1); eindx = tmp.IndexOf(">", sindx + 1);
} }
//string tmp = str.ToUpper();
//int sindx = tmp.IndexOf("<U");
//int eindx = tmp.IndexOf(">", sindx + 1);
//string reptmp;
//while (sindx > -1 && eindx > -1) // B2022-007 added while loop to process more than one <U- RO value
//{
// reptmp = str.Substring(sindx, eindx - sindx + 1);
// tmp = reptmp.ToUpper();
// if (tmp == "<U>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
// else if (tmp == "<U-TEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Text);
// else if (tmp == "<U-NUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
// else if (tmp == "<U-NAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Name);
// else if (tmp == "<U-ID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_ID);
// // B2021-145: For applicability, the tree view & pdf file name are not getting resolved when using any of the OTHER tokens
// else if (tmp == "<U-OTHERTEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Text);
// else if (tmp == "<U-OTHERNUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Number);
// else if (tmp == "<U-OTHERNAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Name);
// else if (tmp == "<U-OTHERID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_ID);
// else str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*"));
// tmp = str.ToUpper();
// sindx = tmp.IndexOf("<U");
// eindx = tmp.IndexOf(">", sindx + 1);
//}
return str; return str;
} }
// C2021-018 used to display Alarm Point Table RO values in the editor // C2021-018 used to display Alarm Point Table RO values in the editor
+3 -18
View File
@@ -256,8 +256,6 @@ namespace Volian.Controls.Library
private int _origCfgHt = 0; // keep track if original size was stored in cfg private int _origCfgHt = 0; // keep track if original size was stored in cfg
private int _origCfgWd = 0; private int _origCfgWd = 0;
private bool _pastedNew = false; // need this for flagging newly pasted image (may need to clear cfg) private bool _pastedNew = false; // need this for flagging newly pasted image (may need to clear cfg)
private DisplayTags _displayTags;
#endregion #endregion
#region Constructors #region Constructors
public ImageItem() public ImageItem()
@@ -268,7 +266,6 @@ namespace Volian.Controls.Library
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand) public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand)
{ {
InitializeComponent(); InitializeComponent();
MyItemInfo = itemInfo; MyItemInfo = itemInfo;
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, null, false); SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, null, false);
if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO) if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO)
@@ -310,7 +307,6 @@ namespace Volian.Controls.Library
this.Height = MyPictureBox.Height + 10; this.Height = MyPictureBox.Height + 10;
_newSizeWd = wd / (MyStepPanel.DPI / 72); _newSizeWd = wd / (MyStepPanel.DPI / 72);
_newSizeHt = ht / (MyStepPanel.DPI / 72); _newSizeHt = ht / (MyStepPanel.DPI / 72);
if (!MyItemInfo.FormatStepData.StepEditData.TypeMenu.MenuItem.ToUpper().Contains("AER")) ItemLocation = TableLocation(MyStepSectionLayoutData, ItemWidth); if (!MyItemInfo.FormatStepData.StepEditData.TypeMenu.MenuItem.ToUpper().Contains("AER")) ItemLocation = TableLocation(MyStepSectionLayoutData, ItemWidth);
_IsDirty = true; _IsDirty = true;
} }
@@ -334,23 +330,13 @@ namespace Volian.Controls.Library
MyPictureBox.SizeMode = PictureBoxSizeMode.Zoom; // as resize matches width/height. MyPictureBox.SizeMode = PictureBoxSizeMode.Zoom; // as resize matches width/height.
this.Width = MyPictureBox.Width + ImageMargin; this.Width = MyPictureBox.Width + ImageMargin;
this.Height = MyPictureBox.Height + 10; this.Height = MyPictureBox.Height + 10;
if (_displayTags != null)
{
_displayTags._origFigureSizeWidth = wd;
_displayTags.TbFSwd = wd.ToString();
_displayTags.TbFSht = ht.ToString();
}
} }
// the following gets called for 'NEW' images // the following gets called for 'NEW' images
private E_ImageSource InsType = E_ImageSource.None; private E_ImageSource InsType = E_ImageSource.None;
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand, EditItem nextEditItem, ImageItem.E_ImageSource insType, DisplayTags displayTags) public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand, EditItem nextEditItem, ImageItem.E_ImageSource insType)
{ {
InitializeComponent(); InitializeComponent();
MyItemInfo = itemInfo; MyItemInfo = itemInfo;
_displayTags = displayTags;
if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO) if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO)
{ {
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false); SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false);
@@ -382,8 +368,8 @@ namespace Volian.Controls.Library
FileName = null; FileName = null;
//InitializeComponent(); //InitializeComponent();
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false); SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false);
//MyPictureBox.Width = 100; MyPictureBox.Width = 100;
//MyPictureBox.Height = 100; MyPictureBox.Height = 100;
this.Width = 100 + ImageMargin; this.Width = 100 + ImageMargin;
this.Height = 100; this.Height = 100;
if (insType == ImageItem.E_ImageSource.File) if (insType == ImageItem.E_ImageSource.File)
@@ -560,7 +546,6 @@ namespace Volian.Controls.Library
imageText = val; imageText = val;
} }
AddROImageToScreen(W, H, imageText); AddROImageToScreen(W, H, imageText);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -1,2 +0,0 @@
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2
C1.Win.C1SpellChecker.C1SpellChecker, C1.Win.C1SpellChecker.2
+1 -12
View File
@@ -1750,7 +1750,7 @@ namespace Volian.Controls.Library
// note in follow if statements, 'setting' == false when in enhanced document: // note in follow if statements, 'setting' == false when in enhanced document:
if (setting && MyItemInfo.IsStep && (eds == null || eds.Count == 0)) // this step is in enhanced, but not linked // B2018-112 and is allowed to edit if (setting && MyItemInfo.IsStep && (eds == null || eds.Count == 0)) // this step is in enhanced, but not linked // B2018-112 and is allowed to edit
allowDel = true; // allow delete if not linked allowDel = true; // allow delete if not linked
btnCpyStp.Enabled = MyUserInfo.IsAllowedToEdit(Mydvi); // setting; btnCpyStp.Enabled = setting;
//B20170-158 Allow a Unlinked Step to be pasted before or after a linked step. //B20170-158 Allow a Unlinked Step to be pasted before or after a linked step.
StepTabPanel tmp = Parent as StepTabPanel; StepTabPanel tmp = Parent as StepTabPanel;
//B2020-058: crash on null reference //B2020-058: crash on null reference
@@ -1761,10 +1761,6 @@ namespace Volian.Controls.Library
{ {
if (MyItemInfo.IsEnhancedStep) btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = false; if (MyItemInfo.IsEnhancedStep) btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = false;
} }
else if (tmp.MyDisplayTabControl.MyCopyStep.IsEnhancedStep && tmp.MyDisplayTabControl.MyCopyStep.MyDocVersion.VersionID == MyItemInfo.MyDocVersion.VersionID)
{
btnPasteBefore.Enabled = btnPasteAfter.Enabled = MyUserInfo.IsAllowedToEdit(Mydvi);
}
} }
else else
btnStepPaste.Enabled = setting; btnStepPaste.Enabled = setting;
@@ -2003,9 +1999,6 @@ namespace Volian.Controls.Library
btnReviewCreatePDF.SubItems.Clear(); btnReviewCreatePDF.SubItems.Clear();
btnReviewCreatePDF.Tag = null; btnReviewCreatePDF.Tag = null;
btnReviewCreatePDF.Click -= new System.EventHandler(btnPdfCreate_Click); btnReviewCreatePDF.Click -= new System.EventHandler(btnPdfCreate_Click);
btnReviewPdfQuickCreate.SubItems.Clear();
btnReviewPdfQuickCreate.Tag = null;
btnReviewPdfQuickCreate.Click -= new System.EventHandler(btnPdfQuickCreate_Click);
int k = 0; int k = 0;
foreach (string s in unitNames) foreach (string s in unitNames)
{ {
@@ -2024,14 +2017,10 @@ namespace Volian.Controls.Library
btn = MakeSubMenuButton(s, k, miMultiUnit_Click); btn = MakeSubMenuButton(s, k, miMultiUnit_Click);
btn.Enabled = procAppl; btn.Enabled = procAppl;
btnCASCreate.SubItems.Add(btn); btnCASCreate.SubItems.Add(btn);
btn = MakeSubMenuButton(s, k, miMultiUnit_Click);
btn.Enabled = procAppl;
btnReviewPdfQuickCreate.SubItems.Add(btn);
} }
btnPdfCreate.AutoExpandOnClick = true; btnPdfCreate.AutoExpandOnClick = true;
btnPdfQuickCreate.AutoExpandOnClick = true; btnPdfQuickCreate.AutoExpandOnClick = true;
btnReviewCreatePDF.AutoExpandOnClick = true; btnReviewCreatePDF.AutoExpandOnClick = true;
btnReviewPdfQuickCreate.AutoExpandOnClick = true;
btnCASCreate.AutoExpandOnClick = true; btnCASCreate.AutoExpandOnClick = true;
} }
private DevComponents.DotNetBar.ButtonItem MakeSubMenuButton(string s, object tag, EventHandler ehandler) private DevComponents.DotNetBar.ButtonItem MakeSubMenuButton(string s, object tag, EventHandler ehandler)
Binary file not shown.
+139 -183
View File
@@ -475,6 +475,145 @@
hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe
hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc
DAdFhtjSAAAAAElFTkSuQmCC DAdFhtjSAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTblOutline.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEUEAgQEggQEgoQEAoQE/vwE/gSE
AoSEAgTEwsT8Avz8/gQEAvz8/vyEggSEgoT8AgT/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////9NzlhFAAAACXBIWXMAABJxAAAScQHz3HqOAAAAI0lE
QVQoU2PgQQMMPAwoACQAlQKDISaAAlDlQYCBAwVwcAAADI8JaX0nfcEAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnInsertRow.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAIElE
QVQoU2P4//8/QcxQUFDwHx8GK0LWgQsPZ5P+MwAAVKncTluNXg0AAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnInsertColumn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAyUlE
QVQ4T6WRMQtBYRhGLZTJZrTZ3DIZjUabvyGDwWK4ioEsSoqSWKREGfkBbEpStktSFkUpLj0+i+F9vsGX
4Qzn9LzT6wHwF9pogjaaoI0mUKhOXiiPH0jXdxedSyh8xmvnCSs1UMouoVAa3rA9uAgnu0rZJRTs/hUr
x0Uo0VTKLqGQ750x37gIxmtK2SUUcu0Tpss7ArGKUnYJhWzriNHiDn+0qJRdQiHT2KMzu8IbsZWySyh8
/u2zCt8D6RIKpmijCdr4O/C8AZF98ic9bkEXAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTblDgnRemove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLUlE
QVQ4T52TvY/ScBjHuVIRKHA9JAgnL+VoC7TX0kLLS6EvFBTa0uj5J7gYF+PsfpOTMrg4ORgHY+LCYJwc
TYyJiYuDLu7GxHgxd/Hnr5fA8TZcrsmnzfN9nufTNPnVBwDw2ZYljGzr3ciyTNu2EC87L75eb+DvD67f
hU9g9vt/HNs5cMaOf9Owohro7YNbe8PhjfuzzBOgkDuabk6bbRXoxuBkNLIeus6yhKyIwY5umo5tHxmG
+Wwu8G5QkIa0jN5gqnR1oOkGuOk6b1x3jHl9uaWGhpb1UtXNY1luPmJ4KbIkmAElAcgD3egfa5oJxq77
oq3ovKJoE7XbBbwoTWhG2F7cWRJ4dFR1S9fNCvykT41mB9TqjSOxXvtJM9zrYokLrc4vFYtUBcngq9Lf
tqICvlr7RhQr8U1za4FHXZIIurT/mePFf1AEJLkFGJb7uml2LRBrcp4us1+g4KRcYV8lkmkplyenglgH
VIm9tzq/VJRZLpUlih9yBQrAt79Pp3bjkVgM244nsPwe/VQQ6r8pRsgu7pwtC61grkA/T10r/NrnxB8s
V2VmvQiOB0MhLMZVxY/pDPEkU6DnZ2Qu2M0STjJFAIpmAUmXD0NY9PQMzEBRPwJzkiSp71F8J1/ipNMj
f9rE8XggkUgexq9cBXmi+DYYjtCRGL72T+D4jr/RaE+waFgu8c0zgUcmT9UuBS4/9m0hmh9Fo7N8FXih
CIKE5/Vi8yJsDM8P8P0HLGwR4Wl3ICYAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnAdjustSize.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABmUlE
QVQ4T7WSSyiEURiG/w32UpRiIYUm18Qgl5QsWJAkInaSSLk00zBTFv5RioUoC6SEkJCIwkLjNoqFzMal
KbdcakJIvc75dP7O0WwsLJ6+3nO+9z1/3/drAAyaRi5YgZZSNgROdEEvaUFt34miOYoQAZzfZs6fAvxR
pR+xop6RSWC167A5nISF0dGpo7HdifikVFTpbpR376HUvoNi6zZBAXKazaHj6eULD74v3D5/4ur+A0ub
p0hNz6Hmkq4dqjI0MCH4y9x8/fiJi7t3nHlfMTp/gFhTMvUUWbaMXgEFiIHxz755YubbH/Px+QuGp3YR
HhFF9wWt61RllGm3dzpxyV72eN/IfOjxYWDCheCQMOrJa14xegWK4AObXTvGyNw+BtnL/czcN+ZCQGAQ
u4aW1bBIVUYRaeZsZOYWIiHZjMioGISEhpNZozb2g9XNUJVRBF+TrH+TWDPJinqmVfa4weFmvqYi6xYK
2zaQ37KKnMZlZNQvIKV2GgnVkzBVTiCuYtyAAuQ0f2uSESYZRfhbk8z/B/wdaN/UwtLmFVaBLwAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="btnTblDgnSplitCells.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE
QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ
DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR
yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA
qy/GB3Ky9SEAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnMergeCells.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMklE
QVQ4T6VT30tTcRT//gm+9OBbL/Xai3vooR9oUVbYjOnmdVyxTalFGxuJa+FljbVCy5WrLTOTvIgNM3Fk
rpb9kCyHrVoMNAqJkRgi9BSBL5885zIf7mW9dOG8fPh+zvmcz/lcEZ+J7N4sxDJhRJ9eRM8TBZFUAMGJ
DgTGvOgYPQuPegqnh5xw3G2BfLsZ0i0bGmMNVPuoAd4X3+HL+iIKa5/xYTWH+R9zeLk8g+mvjzG5OI5k
YQTDn+7hTi6O+EIfet92Q0kHIHltEDSZyPmfH5GaXcLD53moqXn0J19grDAKNT9kwJXMeThVGfWO4xDR
dJAnL6xk+RF9fzYAuzvC5IFcwoB3TvkgDzTjgKUGonuqi2W/Kb7mCb9+A9/XgKNyJ5Nj2agB9z1yw56w
wlRdBRGe9PPOz76lWV5xHcgtA6ZaB5Ovzl0x4O6kC9Y+C3bu2gGhjJ9jw1JLE4gNT7NEmkIPiRyZDW3h
hFG51HY0XDOjcnslhD/pYbdLhpVkl8hkGO1MsmkykdsHT8J8uQ4V2yogvCMuPlU5t4msx1sTMo6FjmgN
ztxv4zuXc5sm63H7DQm1XYe0Bm2DrRyScm6TbD1u62nEQX+N1qCl384JK+c27azHLZdOoNq3X2sgxZtw
M3sd4VdBwxVKhulxc7AOez17tAb0U4QyClwPnBxPShiFhO5MpyK3yTDamWTTZCKb5KqtBoebLlghuW2c
bYonJYxCQnemR/+oerFp7n8UxF+CFapvsjm7iAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnTblDgnAlignText.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE
QVQ4T6WS30uTURjHdx/+AeE/MBR2M3aZV90IXSx0Gl0YkRdFQoFdOMYu6iJsIghpKXNmmzPz53I618YY
U5zODMyKsjZ1plPX+5Y5WsrmPvm+rz9KEiEf+HIe+J7z4TnnfFWOwUmcQ1N0Dr+S1w53BMfgBE9dYZ70
j2HrDWHtDtLSFeBxp5+mjpc0Orw8tI/IkgGZXIbU1o6slY0sc2tZuoNx7jZ7/vKO+rria6icQxHZGJ3+
LGs4HJNNSdV1rgMvOBXFPxnDE57nxdgCfaFFBSBNUNPgOVB1nZtb913cuNdHpfk5V4xOLt+xU3a7jYs3
W7lwvYXiykecv9qoANoHxjmpcjnI7uTY2s6SSmf4vrnN+rdfCqC1J7S37bBEUaS+vp6KigoMBgOODidf
xU2EjS2+rP/k09IPfONzCqD5WYB4PI7FYiGVSsmAaDRKMplEEATyz+ZTXn6JWHyVlaRy2Gw20+9/owCk
bzEajej1ejQaDQUFBaTTaXw+H7W1D8g7k0dpqYEP0QQmk4mqqiq0Wi2FhYUKQPrL5eVl+WAsFpMnsNls
lJSUsJYUFYChjI8LAu/nN4i8W0OtVu9mZuYQcLSsVitFRUXUGE3odDrO7fYNTW28nhMZn00SmF7FPrh3
hX1AIpGQJQgii4tL9PQO4HJ78QfDuL2jjAQiTMzE6fK+xeGexeb6Y4JT5UACHBdlKYknRlkCSMa/oixN
sO8dG2UJIDX/K9Xu+51CqH4DsLwA5JN+awcAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE
QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn
QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH
f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD
VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp
hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe
hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc
DAdFhtjSAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTblDgnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE
QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo
KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8
CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc
OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01
BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo
K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ
TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl
eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R
4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK
D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP
8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="btnReviewFind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnReviewFind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -551,50 +690,6 @@
CbORqIOmx6ffhPMAQEdHB3e69xx39GD3L6bHPAfnpxfPzk7NuWcmZtzTY9PuqZtT7snRSffkyKR7Ynii CbORqIOmx6ffhPMAQEdHB3e69xx39GD3L6bHPAfnpxfPzk7NuWcmZtzTY9PuqZtT7snRSffkyKR7Ynii
kesT7vHr443ztfH6681r9v7k8KR7amTKPX1j2j0zNuO+dOHS9hyfa1a862hra+O2tm/l2tvbW9raW9u3 kesT7vHr443ztfH6681r9v7k8KR7amTKPX1j2j0zNuO+dOHS9hyfa1a862hra+O2tm/l2tvbW9raW9u3
drR1tLa1dmxp3dLR0trS0bKlEa6F66CP/79ppdznn1OO+x8FMcZP/Ws5zwAAAABJRU5ErkJggg== drR1tLa1dmxp3dLR0trS0bKlEa6F66CP/79ppdznn1OO+x8FMcZP/Ws5zwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnReviewPdfQuickCreate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAI0UlE
QVRYR53XSWwb1xkH8JElS+i50KUIempB9FyguQRoiya2gSyHOEWQADnkFtRxmwRBENcIigZx0sDNVsCJ
d1mSZcv0EluS7aS2JFv7QslaSIkUd3KG+zILZx/y3++RVBzvTgf4YzhDit/vfe89YsSx41/79nN79/yj
9ejBEz/vOtLb2XWkp7PrKOVYIydYjnffThdds/z43vGezu4TvZ09J04209d5svtUZy+d93/62c8unh+s
17rvMdh3k+s/fPmXKyPpq4GJ4mJwpugJe0qe6FLJE/eWPIn1socPlD1CqOxJRURPOip6MjE6s9DrVIS9
V/LwwaIn4S94Yms5T2Q16wkupT1+D+8ZuTL951K8yrW0tDQr3nVc7p3k3Ie+dwVuyKnYjIXkgoXUio3s
uo180EEx6qCcqEISapDTNShZoJID1HzjrGTZ/SrElINS0kI+qiMTUiH4ZcS9ZUwNL+2ChAcDhnonuDOH
vnP5RyUhOmUiMW9CWLaQ8VnIBQgRtlGMESLpEKJaL8aKVhIaKhnnNiLDEDYhTORjDFEBH5Awc2N5FzQ0
q93nGOwZ5/oPfudaHxEJYCA+b4BfMpH2Wsj6aUQhBmBf7EAUCJGhkS/zMD/8DMapoUYnCpQ8IbLUqbSN
smCikCBERMHc+Mou2I8EXHWtDYtCZJIAcwaStwykvCYBaDQhC4UoARLsiwlAI9aOnYVxqA/64E1oORta
ie5R1CJNUZ66RPfEDCF4DZ4pAuBhgO6xJqBMAB2xOb0JMJAhQC5IXxS1mgC7DjA+/gr6ue+hzaxBK9jQ
RUCXGtHEGtQyTU2REFkdi7OrDwcMMMA3DUB4UiOARgAdwioDGMiFGMCsL7AyzbFErTY+ovYfPQXzP0eg
FwwYSg1mBTDVZio16EoVFdHE0sJjAE5/c8XlGy7dCfDSHNYBBgoxAvAWxLQFqUSArw7D2vtPWJ9+AUO2
YWo1WHoNjgk4ViO2RZ/TLKwsex8OuNR9swkoEkBFbF5FYkmD4NOQCejIhQ0U4wZKtLDErAmZWqyfG4Kz
bQfs/V/ANGuwzSocu4ZqtYZajcrRwc62bcPr/QmA0GSlDkgu0z5eI8CGVt/XxaSBctqg9ptQJAf6og+1
X/0aztFjoLpwHIeKV6koAzQFdLD7jwQM9BDgIAMUhNAUATyVOiC1rtJeJkBMo9HrEHMG5JIBVTah58uo
PvscnCtXaIc1Cm0iNiE/HTBSEMJTCmILCpKrFaT8KrIRFYWkhnJGg1TUUZEMaJoJM51B7ckn4XzyCWwq
yFp9PwS79vl8jwLcIMBll2+UADMK4osKeF8F6WAFuZiKYkqFmNegiDrUig6dilk08urTT6P64ouwBQE2
FbobsQl4dAd6CXCIADfyQmSOfr+XZAjrCjJhBflkBaWsSitfRUXRaPQE0DQ4b70Fu6sLzjvvwPn6a1jN
LtyNeLxFuNkBBpiXkViVkdqQkY0pKKQUlAsVKLIKVVWhGbTnV1Zo/p+FGYnAXFhA9YUXYPl890U8FuBi
zyh36uCQyzuaE8JzEgEkpIIycgkZxawCqazQ6Ct1gEoAa98+2O++C51hTBM2daD66quwksl7EJZlPUYH
To5ypw8PuXw3c0LEIyHpJUBIQp6XUSrIkCUCVCqoUOu1cBjOjh0wJiagUfE6QpbhfPABqq+8Asvvh0Vz
b7NQVZMQPr//Lw9fA30jXP+RIdfaRFaI3hLBr4vIRCUU0hLEEgGogKIoUAhgfvkl7DfegEbXmq43EDRa
o1SCs3cvak89BbuvD/boKJyBAdi9vSi+/HJvjeN2EuE3lC33UAZOE+DYkGt9KivEVkQIGyKySRHFnARJ
lOoAmXWARm8//zy08XGorDitftYJ68gR2NQBZ/duVHfuRHXbNtSeeAK1Z56B8/77ELdvP09F/075N+UP
DHAHYrB/hDtzfNDln80I7AkmFS4jJ4goFUVIEiEoDGB8/jksKqLOz0Pv74d54ADM48dhXL0KY3kZBs/X
p8PI5WBfuFAvblMKO3ceog78lor+rpmWOwHuYe7MiUFXYD4j0PMf0tEy8pkyymURIgNQcYVWvvXSS9Au
XoQ6PQ01GESF2s46odI0sN3BpkSnsIVp0NybNGUGfS69Z88BAjxHRX9P+dM9iKGzw5y7e9C1sZAWkoES
MokSCjkCsOI0KimRgPHee9Bp/lknZNoNCpuSZuq7g21RKsgAdURzh7BF6l1fry/CZtE/UnZQbq+FoXME
6CHArZTABwnAl1AslCGPjUEZHITa0wPztdcg0zaT2Hpopr4wKT+GMMQmhCHY69XVxvNAnmpR0TbKVlb8
B8Dl89e5s70DruBSShDCRWSFAuTePqg0x9LMDCxaWMp/r0GUFYgiTQubms3QdX2himy7Eoo+U//NqDQw
DLUJeOBx+QIB+giwIghCvITyyTPQ3n4bZfp1M15/Her+/SgWWVeKKOaLND2FO1LM0X1KKU9/S50T2eIt
30YtL9FT8cMAVy5e586dGnCFvIKQCmWgvvk3SN9+C233X6HSqs/Hk8hmcsimssgIGZqie5Pls9S5LHKp
HPLpPP2CNkAsiwuLjwE4TQAfL6SiWZSPd6OyZw+kDz+iR7IgUnwaQlwAH+PBR5uJ3BW6J0QFpGIppONp
ZJIZ2sq5ejyznkcALm0CkkIymqEvSdLDSAB8nEcimkQinEA8FEcsGENsgxK4N/FAHPGNOBLBBJKhJPjw
bdDs5OyjANe48/0MkEglQikkIknEI4l6wWggiog/gvB6GOE1ii+MkDf0Q8JeusdC9yO+CKJrUUTXo4j7
CbORqIOmx6ffhPMAQEdHB3e69xx39GD3L6bHPAfnpxfPzk7NuWcmZtzTY9PuqZtT7snRSffkyKR7Ynii
kesT7vHr443ztfH6681r9v7k8KR7amTKPX1j2j0zNuO+dOHS9hyfa1a862hra+O2tm/l2tvbW9raW9u3
drR1tLa1dmxp3dLR0trS0bKlEa6F66CP/79ppdznn1OO+x8FMcZP/Ws5zwAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="btnListUsers.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnListUsers.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -779,145 +874,6 @@
H2NJV4iAugB9ah3sbteUU5JqGZY1LDNWYfKe1NI0XStXNCdKHrCEGK6bTDio1SEhIxcd5y/Cps6DJ+0c H2NJV4iAugB9ah3sbteUU5JqGZY1LDNWYfKe1NI0XStXNCdKHrCEGK6bTDio1SEhIxcd5y/Cps6DJ+0c
7lfXgExOgDiFrpX8DbAVLUOILI7jzF5RnHssHzvDCb21F8rwQ4Yag2ZzgzDuXyAcZ1yOXZ+7AfRvydB7 7lfXgExOgDiFrpX8DbAVLUOILI7jzF5RnHssHzvDCb21F8rwQ4Yag2ZzgzDuXyAcZ1yOXZ+7AfRvydB7
DEPfk5d5yv3IB5rnwbndkP+p5+Ox6W+GqiqkGDTJEQAAAABJRU5ErkJggg== DEPfk5d5yv3IB5rnwbndkP+p5+Ox6W+GqiqkGDTJEQAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnTblOutline.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEUEAgQEggQEgoQEAoQE/vwE/gSE
AoSEAgTEwsT8Avz8/gQEAvz8/vyEggSEgoT8AgT/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////9NzlhFAAAACXBIWXMAABJxAAAScQHz3HqOAAAAI0lE
QVQoU2PgQQMMPAwoACQAlQKDISaAAlDlQYCBAwVwcAAADI8JaX0nfcEAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnInsertRow.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAIElE
QVQoU2P4//8/QcxQUFDwHx8GK0LWgQsPZ5P+MwAAVKncTluNXg0AAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnInsertColumn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAyUlE
QVQ4T6WRMQtBYRhGLZTJZrTZ3DIZjUabvyGDwWK4ioEsSoqSWKREGfkBbEpStktSFkUpLj0+i+F9vsGX
4Qzn9LzT6wHwF9pogjaaoI0mUKhOXiiPH0jXdxedSyh8xmvnCSs1UMouoVAa3rA9uAgnu0rZJRTs/hUr
x0Uo0VTKLqGQ750x37gIxmtK2SUUcu0Tpss7ArGKUnYJhWzriNHiDn+0qJRdQiHT2KMzu8IbsZWySyh8
/u2zCt8D6RIKpmijCdr4O/C8AZF98ic9bkEXAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTblDgnRemove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLUlE
QVQ4T52TvY/ScBjHuVIRKHA9JAgnL+VoC7TX0kLLS6EvFBTa0uj5J7gYF+PsfpOTMrg4ORgHY+LCYJwc
TYyJiYuDLu7GxHgxd/Hnr5fA8TZcrsmnzfN9nufTNPnVBwDw2ZYljGzr3ciyTNu2EC87L75eb+DvD67f
hU9g9vt/HNs5cMaOf9Owohro7YNbe8PhjfuzzBOgkDuabk6bbRXoxuBkNLIeus6yhKyIwY5umo5tHxmG
+Wwu8G5QkIa0jN5gqnR1oOkGuOk6b1x3jHl9uaWGhpb1UtXNY1luPmJ4KbIkmAElAcgD3egfa5oJxq77
oq3ovKJoE7XbBbwoTWhG2F7cWRJ4dFR1S9fNCvykT41mB9TqjSOxXvtJM9zrYokLrc4vFYtUBcngq9Lf
tqICvlr7RhQr8U1za4FHXZIIurT/mePFf1AEJLkFGJb7uml2LRBrcp4us1+g4KRcYV8lkmkplyenglgH
VIm9tzq/VJRZLpUlih9yBQrAt79Pp3bjkVgM244nsPwe/VQQ6r8pRsgu7pwtC61grkA/T10r/NrnxB8s
V2VmvQiOB0MhLMZVxY/pDPEkU6DnZ2Qu2M0STjJFAIpmAUmXD0NY9PQMzEBRPwJzkiSp71F8J1/ipNMj
f9rE8XggkUgexq9cBXmi+DYYjtCRGL72T+D4jr/RaE+waFgu8c0zgUcmT9UuBS4/9m0hmh9Fo7N8FXih
CIKE5/Vi8yJsDM8P8P0HLGwR4Wl3ICYAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnAdjustSize.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABmUlE
QVQ4T7WSSyiEURiG/w32UpRiIYUm18Qgl5QsWJAkInaSSLk00zBTFv5RioUoC6SEkJCIwkLjNoqFzMal
KbdcakJIvc75dP7O0WwsLJ6+3nO+9z1/3/drAAyaRi5YgZZSNgROdEEvaUFt34miOYoQAZzfZs6fAvxR
pR+xop6RSWC167A5nISF0dGpo7HdifikVFTpbpR376HUvoNi6zZBAXKazaHj6eULD74v3D5/4ur+A0ub
p0hNz6Hmkq4dqjI0MCH4y9x8/fiJi7t3nHlfMTp/gFhTMvUUWbaMXgEFiIHxz755YubbH/Px+QuGp3YR
HhFF9wWt61RllGm3dzpxyV72eN/IfOjxYWDCheCQMOrJa14xegWK4AObXTvGyNw+BtnL/czcN+ZCQGAQ
u4aW1bBIVUYRaeZsZOYWIiHZjMioGISEhpNZozb2g9XNUJVRBF+TrH+TWDPJinqmVfa4weFmvqYi6xYK
2zaQ37KKnMZlZNQvIKV2GgnVkzBVTiCuYtyAAuQ0f2uSESYZRfhbk8z/B/wdaN/UwtLmFVaBLwAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="btnTblDgnSplitCells.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE
QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ
DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR
yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA
qy/GB3Ky9SEAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnMergeCells.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMklE
QVQ4T6VT30tTcRT//gm+9OBbL/Xai3vooR9oUVbYjOnmdVyxTalFGxuJa+FljbVCy5WrLTOTvIgNM3Fk
rpb9kCyHrVoMNAqJkRgi9BSBL5885zIf7mW9dOG8fPh+zvmcz/lcEZ+J7N4sxDJhRJ9eRM8TBZFUAMGJ
DgTGvOgYPQuPegqnh5xw3G2BfLsZ0i0bGmMNVPuoAd4X3+HL+iIKa5/xYTWH+R9zeLk8g+mvjzG5OI5k
YQTDn+7hTi6O+EIfet92Q0kHIHltEDSZyPmfH5GaXcLD53moqXn0J19grDAKNT9kwJXMeThVGfWO4xDR
dJAnL6xk+RF9fzYAuzvC5IFcwoB3TvkgDzTjgKUGonuqi2W/Kb7mCb9+A9/XgKNyJ5Nj2agB9z1yw56w
wlRdBRGe9PPOz76lWV5xHcgtA6ZaB5Ovzl0x4O6kC9Y+C3bu2gGhjJ9jw1JLE4gNT7NEmkIPiRyZDW3h
hFG51HY0XDOjcnslhD/pYbdLhpVkl8hkGO1MsmkykdsHT8J8uQ4V2yogvCMuPlU5t4msx1sTMo6FjmgN
ztxv4zuXc5sm63H7DQm1XYe0Bm2DrRyScm6TbD1u62nEQX+N1qCl384JK+c27azHLZdOoNq3X2sgxZtw
M3sd4VdBwxVKhulxc7AOez17tAb0U4QyClwPnBxPShiFhO5MpyK3yTDamWTTZCKb5KqtBoebLlghuW2c
bYonJYxCQnemR/+oerFp7n8UxF+CFapvsjm7iAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnTblDgnAlignText.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE
QVQ4T6WS30uTURjHdx/+AeE/MBR2M3aZV90IXSx0Gl0YkRdFQoFdOMYu6iJsIghpKXNmmzPz53I618YY
U5zODMyKsjZ1plPX+5Y5WsrmPvm+rz9KEiEf+HIe+J7z4TnnfFWOwUmcQ1N0Dr+S1w53BMfgBE9dYZ70
j2HrDWHtDtLSFeBxp5+mjpc0Orw8tI/IkgGZXIbU1o6slY0sc2tZuoNx7jZ7/vKO+rria6icQxHZGJ3+
LGs4HJNNSdV1rgMvOBXFPxnDE57nxdgCfaFFBSBNUNPgOVB1nZtb913cuNdHpfk5V4xOLt+xU3a7jYs3
W7lwvYXiykecv9qoANoHxjmpcjnI7uTY2s6SSmf4vrnN+rdfCqC1J7S37bBEUaS+vp6KigoMBgOODidf
xU2EjS2+rP/k09IPfONzCqD5WYB4PI7FYiGVSsmAaDRKMplEEATyz+ZTXn6JWHyVlaRy2Gw20+9/owCk
bzEajej1ejQaDQUFBaTTaXw+H7W1D8g7k0dpqYEP0QQmk4mqqiq0Wi2FhYUKQPrL5eVl+WAsFpMnsNls
lJSUsJYUFYChjI8LAu/nN4i8W0OtVu9mZuYQcLSsVitFRUXUGE3odDrO7fYNTW28nhMZn00SmF7FPrh3
hX1AIpGQJQgii4tL9PQO4HJ78QfDuL2jjAQiTMzE6fK+xeGexeb6Y4JT5UACHBdlKYknRlkCSMa/oixN
sO8dG2UJIDX/K9Xu+51CqH4DsLwA5JN+awcAAAAASUVORK5CYII=
</value>
</data>
<data name="btnTblDgnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE
QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn
QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH
f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD
VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp
hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe
hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc
DAdFhtjSAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTblDgnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE
QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo
KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8
CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc
OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01
BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo
K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ
TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl
eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R
4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK
D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP
8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="btnInsTrans.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnInsTrans.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -87,8 +87,15 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\Edraw\AxInterop.EDWordLib.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\Edraw\AxInterop.EDWordLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.0.20213.532, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" /> <Reference Include="C1.Win.4.8">
<Reference Include="C1.Win.C1SpellChecker.2, Version=2.0.20213.532, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" /> <HintPath>..\VEPROMS\packages\C1.Win.8.0.20233.631\lib\net48\C1.Win.4.8.dll</HintPath>
</Reference>
<Reference Include="C1.Win.C1FlexGrid.4.8, Version=4.8.20233.631, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL">
<HintPath>..\VEPROMS\packages\C1.Win.C1FlexGrid.4.8.20233.631\lib\net48\C1.Win.C1FlexGrid.4.8.dll</HintPath>
</Reference>
<Reference Include="C1.Win.C1SpellChecker.4.8, Version=4.8.20233.631, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL">
<HintPath>..\VEPROMS\packages\C1.Win.C1SpellChecker.4.8.20233.631\lib\net48\C1.Win.C1SpellChecker.4.8.dll</HintPath>
</Reference>
<Reference Include="Csla"> <Reference Include="Csla">
<HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath>
</Reference> </Reference>
@@ -1,2 +1 @@
da3d5d14-691f-4908-aa3c-fd3239734232;-8584914772854775808;Vm9saWFuLkNvbnRyb2xzLkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MDEwODE5MjdYWFhYWFhYWDA1Mg,Sk9ITi1XSU4xMA,RmFsc2U,ODQzNA,RmFsc2U,MA,MA,djIwMjIuMw,,;c7VmK7aSALscK1Nd/lI1cS3mms+p4j4Fsa2LgKQ1JmeSkNKq5X8LWx2NLOHITkvv+3IbbTQcVPnGa7hKiEDHlfH3thfwEvtzoqprZSXMOYfNPiXTPIIYPNb6L31Qq7AGiogvw+dMD9o/AiUWt4Q7a5SRmYU+PbrlNAXVISIzndw da3d5d14-691f-4908-aa3c-fd3239734232;-8584914772854775808;Vm9saWFuLkNvbnRyb2xzLkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MDEwODE5MjdYWFhYWFhYWDA1Mg,Sk9ITi1XSU4xMA,RmFsc2U,ODQzNA,RmFsc2U,MA,MA,djIwMjIuMw,,;c7VmK7aSALscK1Nd/lI1cS3mms+p4j4Fsa2LgKQ1JmeSkNKq5X8LWx2NLOHITkvv+3IbbTQcVPnGa7hKiEDHlfH3thfwEvtzoqprZSXMOYfNPiXTPIIYPNb6L31Qq7AGiogvw+dMD9o/AiUWt4Q7a5SRmYU+PbrlNAXVISIzndw
da3d5d14-691f-4908-aa3c-fd3239734232;-8584865524854775808;Vm9saWFuLkNvbnRyb2xzLkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,NjE5MDczODdYWFhYWFhYWDA1Mw,Q0hSSVM,RmFsc2U,ODg5NA,RmFsc2U,MA,MA,djIwMjQuMQ,,;luo/kWHt4XRAYR+3s8m8QoRagBcvXLv0mHvCYU2VCIeACFord4tdtTGmSUvmGhEmUiAd7YvaTlDlFrlni6CWaVlxa1mdbWuWsNVUkRnyJZ8kOAt1A+3SGfHecCsqotTW7apXjwW5qXLZ/fcgutioe7xaXgniFQysshTdUWt26T8
+9 -85
View File
@@ -1322,7 +1322,7 @@ namespace Volian.Controls.Library
{ {
MenuItem miri = mir.MenuItems.Add("Create Procedure to Import"); MenuItem miri = mir.MenuItems.Add("Create Procedure to Import");
miri.Tag = ri.RevisionID; miri.Tag = ri.RevisionID;
miri.Click += new EventHandler(MultiUnitImportProcedure_Click); //B2024-024 Parent Child Create Approved Import file miri.Click += new EventHandler(ImportProcedure_Click);
} }
//end added jcb 20111031 //end added jcb 20111031
@@ -1419,29 +1419,6 @@ namespace Volian.Controls.Library
} }
void ImportProcedure_Click(object sender, EventArgs e) void ImportProcedure_Click(object sender, EventArgs e)
{
//B2024-024 restored the line below from prior change - didn't work for non parent/childs sets - created a new click event method (below) for parent/child sets.
RevisionInfo ri = (sender as MenuItem).Tag as RevisionInfo;
RevisionConfig rc = ri.MyConfig as RevisionConfig;
// bug fix: B2016-183 - add the child's name (ex Unit 1) to the export file name for Parent/Child procedures.
int applIdx = rc.Applicability_Index;
string str = (applIdx > 0)?_currentPri.MyDocVersion.UnitNames[applIdx-1] +"_":""; // if parent/child get the defined child name to inlcude the export filename
System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
xd.LoadXml(ri.LatestVersion.ApprovedXML);
string PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database;
DirectoryInfo di = new DirectoryInfo(PEIPath);
if (!di.Exists) di.Create();
// B2022-048: Crash when creating Procedure to Import from versions. Couldn't handle '/' in proc number.
string fNametmp = xd.SelectSingleNode("procedure/content/@number").InnerText.Replace(" ", "_").Replace(@"\u8209?", "-").Replace(@"\u9586?", "_").Replace("/", "-") + ".pxml";
// B2022-112: If applicability, need to resolve the '<' and '>' characters. Just use the UnitNames, i.e. str, from above.
if (applIdx > 0) fNametmp = Regex.Replace(fNametmp, @"\<U-ID\>", str, RegexOptions.IgnoreCase);
string fileName = PEIPath + "\\" + str + "Approved_Rev_" + ri.RevisionNumber.Replace(" ", "_").Replace("\\", "-").Replace("/", "-") + "_" + fNametmp;
xd.Save(fileName);
FlexibleMessageBox.Show("Approved procedure saved to import file " + fileName, "Creating Export of Approved Procedure", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//B2024-024 create import file for parent/child procedure set
void MultiUnitImportProcedure_Click(object sender, EventArgs e)
{ {
//RevisionInfo ri = (sender as MenuItem).Tag as RevisionInfo; //RevisionInfo ri = (sender as MenuItem).Tag as RevisionInfo;
RevisionInfo ri = RevisionInfo.Get(int.Parse((sender as MenuItem).Tag.ToString())); RevisionInfo ri = RevisionInfo.Get(int.Parse((sender as MenuItem).Tag.ToString()));
@@ -1463,7 +1440,6 @@ namespace Volian.Controls.Library
FlexibleMessageBox.Show("Approved procedure saved to import file " + fileName, "Creating Export of Approved Procedure", MessageBoxButtons.OK, MessageBoxIcon.Information); FlexibleMessageBox.Show("Approved procedure saved to import file " + fileName, "Creating Export of Approved Procedure", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
void ApprovedRevision_Click(object sender, EventArgs e) void ApprovedRevision_Click(object sender, EventArgs e)
{ {
bool superceded = false; bool superceded = false;
@@ -1612,13 +1588,7 @@ namespace Volian.Controls.Library
if (!docVersionIsEnhanced && !docVersionIsSource && !procIsSource) canPaste = true; if (!docVersionIsEnhanced && !docVersionIsSource && !procIsSource) canPaste = true;
else if (docVersionIsSource && !procIsSource) canPaste = true; else if (docVersionIsSource && !procIsSource) canPaste = true;
else if (docVersionIsSource) canPaste = (!procIsSource || (iiClipboard.MyDocVersion.ItemID == dvi.ItemID)); else if (docVersionIsSource) canPaste = (!procIsSource || (iiClipboard.MyDocVersion.ItemID == dvi.ItemID));
else if (docVersionIsEnhanced) else if (docVersionIsEnhanced) canPaste = !procIsSource;
{
// B2024-028 Do not allow paste of non-enhanced into enhanced set
// (consistent with paste before/after, i.e. don't allow)
canPaste = false;
cm.MenuItems.Add("CANNOT PASTE HERE, Click for more information...", new EventHandler(mi_Click));
}
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation. if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click)); if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
} }
@@ -2018,6 +1988,7 @@ namespace Volian.Controls.Library
// lots of paste options: // lots of paste options:
case "Paste Procedure": case "Paste Procedure":
case "Paste Procedure Before": case "Paste Procedure Before":
case "Replace Existing Procedure":
case "Paste Procedure After": case "Paste Procedure After":
case "Paste Section": case "Paste Section":
case "Paste Section Before": case "Paste Section Before":
@@ -2030,18 +2001,6 @@ namespace Volian.Controls.Library
case "Paste Subsection": case "Paste Subsection":
tv_NodePaste(mi.Text); tv_NodePaste(mi.Text);
break; break;
case "Replace Existing Procedure":
DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with then one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
if (ovewriteEx == DialogResult.Cancel) break;
else
{
TreeNode treenodeDirectory = SelectedNode.Parent;
tv_NodePaste(mi.Text);
break;
}
case "Delete": case "Delete":
if (tv_NodeDelete()) if (tv_NodeDelete())
{ {
@@ -2120,9 +2079,8 @@ namespace Volian.Controls.Library
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here"); "It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
break; break;
case "CANNOT PASTE HERE, Click for more information...": case "CANNOT PASTE HERE, Click for more information...":
// B2024-028 clarify message
FlexibleMessageBox.Show("You have copied a document that is NOT linked to an Enhanced Document.\n\n" + FlexibleMessageBox.Show("You have copied a document that is NOT linked to an Enhanced Document.\n\n" +
"You cannot paste a Non-Enhanced Procedure into an Enhanced Procedure Set.", "Cannot Paste Here"); "It CANNOT be pasted before or after an Enhanced Document.", "Cannot Paste Here");
break; break;
//case "Check Out Procedure Set": //case "Check Out Procedure Set":
// CheckOutDocVersion(SelectedNode as VETreeNode); // CheckOutDocVersion(SelectedNode as VETreeNode);
@@ -2408,7 +2366,6 @@ namespace Volian.Controls.Library
} }
} }
VETreeNode tn = SelectedNode as VETreeNode; VETreeNode tn = SelectedNode as VETreeNode;
TreeNode treeNodeReplace = SelectedNode.Parent; //Get Tree Node of Parent we are proc we are placing into.
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
// Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section) // Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section)
if (dvi != null) if (dvi != null)
@@ -2444,17 +2401,13 @@ namespace Volian.Controls.Library
else if (p.IndexOf("After") > -1) else if (p.IndexOf("After") > -1)
PasteBeforeOrAfter(MenuSelections.StepAfter, tn, iiClipboard.ItemID); PasteBeforeOrAfter(MenuSelections.StepAfter, tn, iiClipboard.ItemID);
else if (p.IndexOf("Replace") > -1) else if (p.IndexOf("Replace") > -1)
{ PasteReplace(tn, iiClipboard.ItemID);
PasteReplace(tn, iiClipboard.ItemID, treeNodeReplace);
}
else // paste as child else // paste as child
PasteAsChild(tn, iiClipboard.ItemID); PasteAsChild(tn, iiClipboard.ItemID);
//if (p.IndexOf("Replace") <= -1)
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID) private void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
{ {
// Only need to handle paste in tree since this will create a new procedure. // Only need to handle paste in tree since this will create a new procedure.
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
@@ -2541,7 +2494,7 @@ namespace Volian.Controls.Library
} }
SelectedNode = (VETreeNode)((newtype == MenuSelections.StepAfter) ? tn.NextNode : tn.PrevNode); SelectedNode = (VETreeNode)((newtype == MenuSelections.StepAfter) ? tn.NextNode : tn.PrevNode);
} }
private void PasteReplace(VETreeNode tn, int copyStartID, TreeNode treeNodeReplace) private void PasteReplace(VETreeNode tn, int copyStartID)
{ {
VETreeNode prevtn = (VETreeNode) tn.PrevNode; VETreeNode prevtn = (VETreeNode) tn.PrevNode;
VETreeNode partn = (VETreeNode) tn.Parent; VETreeNode partn = (VETreeNode) tn.Parent;
@@ -2552,35 +2505,16 @@ namespace Volian.Controls.Library
{ {
// first, check if a changeid is required. // first, check if a changeid is required.
string chgId = OnGetChangeId(this, new vlnTreeItemInfoEventArgs(ii)); string chgId = OnGetChangeId(this, new vlnTreeItemInfoEventArgs(ii));
ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId, treeNodeReplace); ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId);
StepConfig replItemConfig = ii.MyConfig as StepConfig; StepConfig replItemConfig = ii.MyConfig as StepConfig;
if (replItemInfo != null) if (replItemInfo != null)
{ {
OnOpenItem(this, new vlnTreeItemInfoEventArgs(replItemInfo));
ItemInfo newEnhStep = replItemInfo.PasteEnhancedItems(copyStartID, ii, ItemInfo.EAddpingPart.Replace, chgId); ItemInfo newEnhStep = replItemInfo.PasteEnhancedItems(copyStartID, ii, ItemInfo.EAddpingPart.Replace, chgId);
} }
} }
// B2018-047: was crashing on the following line (before change it was casting the result to a VETreeNote when the partn.FirstNode was just a TreeNode) // B2018-047: was crashing on the following line (before change it was casting the result to a VETreeNote when the partn.FirstNode was just a TreeNode)
SelectedNode = prevtn != null ? prevtn.NextNode : partn.FirstNode; SelectedNode = prevtn != null ? prevtn.NextNode : partn.FirstNode;
}
public void PasteRepalceEmpty(VETreeNode tn, int copyStartID)
{
// Only need to handle paste in tree since this will create a new procedure.
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
if (dvi.DocVersionAssociationCount == 0)
{
// Set docversionassociation to the copied docversion association
// so that the rofst for ro's can be found. (if there is no association set)
ROFstInfo rfi = GetAssociationRofstId(copyStartID);
Association myAs = Association.MakeAssociation(dvi.Get(), rfi.GetJustROFst(), "");
dvi.RefreshDocVersionAssociations();
}
ItemInfo newProc = dvi.PasteChild(copyStartID);
VETreeNode tn1 = new VETreeNode(newProc);
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
SelectedNode = tn1;
} }
private void tv_NodeCopy() private void tv_NodeCopy()
{ {
@@ -2588,7 +2522,6 @@ namespace Volian.Controls.Library
VETreeNode tn = SelectedNode as VETreeNode; VETreeNode tn = SelectedNode as VETreeNode;
OnNodeCopy(this, new vlnTreeEventArgs(tn)); OnNodeCopy(this, new vlnTreeEventArgs(tn));
} }
#endregion #endregion
#region PropertyPagesInterface #region PropertyPagesInterface
private void SetupNodeProperties() private void SetupNodeProperties()
@@ -3101,15 +3034,6 @@ namespace Volian.Controls.Library
{ {
SaveEnhancedForSection(sourceSect, newenhSection, sed.Type); SaveEnhancedForSection(sourceSect, newenhSection, sed.Type);
RefreshRelatedNode(SectionInfo.Get(newenhSection.ItemID)); RefreshRelatedNode(SectionInfo.Get(newenhSection.ItemID));
// B2024-023: when inserting a source section, the associated
// enhanced section did not appear in tree view or in edit window (if it
// was displayed in editor). Add to tree view and close the enhanced
// procedure edit window. Note that closing of edit window was done to
// be consistent on what happens upon delete of source w/ and enhanced
// section.
SectionInfo tmpsi = SectionInfo.Get(newenhSection.ItemID);
RefreshRelatedNode(ProcedureInfo.Get(tmpsi.MyParent.ItemID));
OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(tmpsi, true));
} }
} }
return; return;
+10 -6
View File
@@ -699,9 +699,9 @@ namespace Volian.Print.Library
try try
{ {
if (File.Exists(outputFileName) && !OverWrite && !outputFileName.Contains("PageNumberPass") && !outputFileName.Contains("Foldout")) if (File.Exists(outputFileName))
{ {
if (!BaselineTesting && !SaveLinks) // B2024-031 don't do if creating PDF hyperlinks if (!BaselineTesting)
{ {
String tmpExt = System.IO.Path.GetExtension(outputFileName); String tmpExt = System.IO.Path.GetExtension(outputFileName);
String tmpPTH = System.IO.Path.GetDirectoryName(outputFileName); String tmpPTH = System.IO.Path.GetDirectoryName(outputFileName);
@@ -719,10 +719,6 @@ namespace Volian.Print.Library
outputFileName = filename; outputFileName = filename;
} }
// B2024-031 if doing PDF hyperlinks (Create RO and Transition Hyperlinks) then try to
// delete the old PDF file before creating the new one
if (SaveLinks)
File.Delete(outputFileName);
} }
writer = PdfWriter.GetInstance(document, new FileStream(outputFileName, FileMode.Create)); writer = PdfWriter.GetInstance(document, new FileStream(outputFileName, FileMode.Create));
@@ -836,6 +832,14 @@ namespace Volian.Print.Library
OnStatusChanged("Print " + myProcedure.DisplayNumber, PromsPrinterStatusType.Start); OnStatusChanged("Print " + myProcedure.DisplayNumber, PromsPrinterStatusType.Start);
string outputFileName = pdfFolder + "\\" + Prefix + PDFFile; // RHM20150506 Multiline ItemID TextBox string outputFileName = pdfFolder + "\\" + Prefix + PDFFile; // RHM20150506 Multiline ItemID TextBox
if (!OverWrite && File.Exists(outputFileName))
{
if (MessageBox.Show(outputFileName + " exists. Overwrite file?", "File Exists", MessageBoxButtons.YesNo) == DialogResult.No)
{
ProfileTimer.Pop(profileDepth);
return null;
}
}
string retval = PrintProcedureOrFoldout(myProcedure, null, outputFileName, makePlacekeeper, makeContinuousActionSummary, makeTimeCriticalAction); string retval = PrintProcedureOrFoldout(myProcedure, null, outputFileName, makePlacekeeper, makeContinuousActionSummary, makeTimeCriticalAction);
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
return retval; return retval;
@@ -1,2 +0,0 @@
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2
C1.Win.C1SpellChecker.C1SpellChecker, C1.Win.C1SpellChecker.2
+1 -4
View File
@@ -396,10 +396,7 @@ namespace Volian.Print.Library
} }
else if (_Ti != null && !from.IsInSupInfo) // Remote Go To. Added SupInfo check for B2020 bugs (see above) else if (_Ti != null && !from.IsInSupInfo) // Remote Go To. Added SupInfo check for B2020 bugs (see above)
{ {
// C2024-009 add PDF file prefix and suffix if available to the PDF file name in the transition reference. chk.SetRemoteGoto(_Ti.MyItemToID.MyProcedure.DisplayNumber.Replace("/", "_") + ".pdf", string.Format("ItemID={0}", tiDefault.ItemID));
DocVersionConfig dvc = _Ti.MyItemToID.MyProcedure.MyDocVersion.DocVersionConfig;
string remotePDFName = dvc.Print_PDFFilePrefix + _Ti.MyItemToID.MyProcedure.DisplayNumber.Replace("/", "_") + dvc.Print_PDFFileSuffix + ".pdf";
chk.SetRemoteGoto(remotePDFName, string.Format("ItemID={0}", tiDefault.ItemID));
chk.SetBackground(new Color(System.Drawing.Color.PeachPuff)); chk.SetBackground(new Color(System.Drawing.Color.PeachPuff));
} }
} }
+13 -31
View File
@@ -1834,8 +1834,7 @@ i = 0;
{ {
if (section.ActiveFormat.PlantFormat.FormatData.ProcData.CapitalizeTitle) title = title.ToUpper(); if (section.ActiveFormat.PlantFormat.FormatData.ProcData.CapitalizeTitle) title = title.ToUpper();
// B2022-035: resolve unit specific designators // B2022-035: resolve unit specific designators
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) if (title.ToUpper().Contains(@"<U")) title = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(section.MyDocVersion, title);
title = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(section.MyDocVersion, title);
plstr = SplitTitle(svgGroup, pageItem, title, (int)linelen, token, plstr, null); //,rowAdj); plstr = SplitTitle(svgGroup, pageItem, title, (int)linelen, token, plstr, null); //,rowAdj);
} }
break; break;
@@ -1848,8 +1847,7 @@ i = 0;
string title1 = section.MyProcedure.MyContent.Text; string title1 = section.MyProcedure.MyContent.Text;
if (section.ActiveFormat.PlantFormat.FormatData.ProcData.CapitalizeTitle) title1 = title1.ToUpper(); if (section.ActiveFormat.PlantFormat.FormatData.ProcData.CapitalizeTitle) title1 = title1.ToUpper();
// F2024-012 copied this line from above (processing COVERPROCTITLE) to resolve unit designators in the procedure title // F2024-012 copied this line from above (processing COVERPROCTITLE) to resolve unit designators in the procedure title
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>) if (title1.ToUpper().Contains(@"<U")) title1 = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(section.MyDocVersion, title1);
title1 = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(section.MyDocVersion, title1);
plstr = SplitCoverTitle(svgGroup, pageItem, title1, (int)coverlinelen, token, plstr);//, rowAdj); plstr = SplitCoverTitle(svgGroup, pageItem, title1, (int)coverlinelen, token, plstr);//, rowAdj);
break; break;
case "{TITLE&UNIT}": case "{TITLE&UNIT}":
@@ -2473,9 +2471,6 @@ i = 0;
private string ResolveUnitApp(DocVersionInfo dvi, string str) private string ResolveUnitApp(DocVersionInfo dvi, string str)
{ {
if (dvi == null) return str; if (dvi == null) return str;
// B2024-025 - process all of the applicability token (<U-xxx>, <U>, <ID>)
str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(dvi, str);
// look for un-resolved tokens and replace less/greater than chars with "*?" and "?*" respectively
string tmp = str.ToUpper(); string tmp = str.ToUpper();
int sindx = tmp.IndexOf("<U"); int sindx = tmp.IndexOf("<U");
int eindx = tmp.IndexOf(">", sindx + 1); int eindx = tmp.IndexOf(">", sindx + 1);
@@ -2484,34 +2479,21 @@ i = 0;
{ {
reptmp = str.Substring(sindx, eindx - sindx + 1); reptmp = str.Substring(sindx, eindx - sindx + 1);
tmp = reptmp.ToUpper(); tmp = reptmp.ToUpper();
str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*")); if (tmp == "<U>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
else if (tmp == "<U-TEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Text);
else if (tmp == "<U-NUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
else if (tmp == "<U-NAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Name);
else if (tmp == "<U-ID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_ID);
// B2021-145: For applicability, the tree view & pdf file name are not getting resolved when using any of the OTHER tokens
else if (tmp == "<U-OTHERTEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Text);
else if (tmp == "<U-OTHERNUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Number);
else if (tmp == "<U-OTHERNAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Name);
else if (tmp == "<U-OTHERID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_ID);
else str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*"));
tmp = str.ToUpper(); tmp = str.ToUpper();
sindx = tmp.IndexOf("<U"); sindx = tmp.IndexOf("<U");
eindx = tmp.IndexOf(">", sindx + 1); eindx = tmp.IndexOf(">", sindx + 1);
} }
//string tmp = str.ToUpper();
//int sindx = tmp.IndexOf("<U");
//int eindx = tmp.IndexOf(">", sindx + 1);
//string reptmp;
//while (sindx > -1 && eindx > -1) // B2022-007 added while loop to process more than one <U- RO value
//{
// reptmp = str.Substring(sindx, eindx - sindx + 1);
// tmp = reptmp.ToUpper();
// if (tmp == "<U>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
// else if (tmp == "<U-TEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Text);
// else if (tmp == "<U-NUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Number);
// else if (tmp == "<U-NAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_Name);
// else if (tmp == "<U-ID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Unit_ID);
// // B2021-145: For applicability, the tree view & pdf file name are not getting resolved when using any of the OTHER tokens
// else if (tmp == "<U-OTHERTEXT>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Text);
// else if (tmp == "<U-OTHERNUMBER>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Number);
// else if (tmp == "<U-OTHERNAME>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_Name);
// else if (tmp == "<U-OTHERID>") str = str.Replace(reptmp, dvi.DocVersionConfig.Other_Unit_ID);
// else str = str.Replace(reptmp, tmp.Replace("<", "*?").Replace(">", "?*"));
// tmp = str.ToUpper();
// sindx = tmp.IndexOf("<U");
// eindx = tmp.IndexOf(">", sindx + 1);
//}
return str; return str;
} }
// B2019-076: moved the following to DocVersionExt.cs to make it available to transitionext.cs code. // B2019-076: moved the following to DocVersionExt.cs to make it available to transitionext.cs code.
@@ -65,7 +65,12 @@
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.0.20213.532, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" /> <Reference Include="C1.Win.4.8">
<HintPath>..\VEPROMS\packages\C1.Win.8.0.20233.631\lib\net48\C1.Win.4.8.dll</HintPath>
</Reference>
<Reference Include="C1.Win.C1FlexGrid.4.8">
<HintPath>..\VEPROMS\packages\C1.Win.C1FlexGrid.4.8.20233.631\lib\net48\C1.Win.C1FlexGrid.4.8.dll</HintPath>
</Reference>
<Reference Include="Csla"> <Reference Include="Csla">
<HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\CSLA\Csla.dll</HintPath>
</Reference> </Reference>
@@ -1,2 +1 @@
da3d5d14-691f-4908-aa3c-fd3239734232;-8584914772854775808;Vm9saWFuLlByaW50LkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MDEwODE5MjdYWFhYWFhYWDA1Mg,Sk9ITi1XSU4xMA,RmFsc2U,ODQzNA,RmFsc2U,MA,MA,djIwMjIuMw,,;c7VmK7aSALscK1Nd/lI1cS3mms+p4j4Fsa2LgKQ1JmeSkNKq5X8LWx2NLOHITkvv+3IbbTQcVPnGa7hKiEDHlfH3thfwEvtzoqprZSXMOYfNPiXTPIIYPNb6L31Qq7AGiogvw+dMD9o/AiUWt4Q7a5SRmYU+PbrlNAXVISIzndw da3d5d14-691f-4908-aa3c-fd3239734232;-8584914772854775808;Vm9saWFuLlByaW50LkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,MDEwODE5MjdYWFhYWFhYWDA1Mg,Sk9ITi1XSU4xMA,RmFsc2U,ODQzNA,RmFsc2U,MA,MA,djIwMjIuMw,,;c7VmK7aSALscK1Nd/lI1cS3mms+p4j4Fsa2LgKQ1JmeSkNKq5X8LWx2NLOHITkvv+3IbbTQcVPnGa7hKiEDHlfH3thfwEvtzoqprZSXMOYfNPiXTPIIYPNb6L31Qq7AGiogvw+dMD9o/AiUWt4Q7a5SRmYU+PbrlNAXVISIzndw
da3d5d14-691f-4908-aa3c-fd3239734232;-8584865524854775808;Vm9saWFuLlByaW50LkxpYnJhcnkuZGxs;ZGEzZDVkMTQtNjkxZi00OTA4LWFhM2MtZmQzMjM5NzM0MjMy,NjE5MDczODdYWFhYWFhYWDA1Mw,Q0hSSVM,RmFsc2U,ODg5NA,RmFsc2U,MA,MA,djIwMjQuMQ,,;luo/kWHt4XRAYR+3s8m8QoRagBcvXLv0mHvCYU2VCIeACFord4tdtTGmSUvmGhEmUiAd7YvaTlDlFrlni6CWaVlxa1mdbWuWsNVUkRnyJZ8kOAt1A+3SGfHecCsqotTW7apXjwW5qXLZ/fcgutioe7xaXgniFQysshTdUWt26T8