Compare commits

..

111 Commits

Author SHA1 Message Date
0b40569727 Merge pull request 'Development' (#570) from Development into master
Reviewed-on: #570
2025-06-23 14:58:28 -04:00
afb0247d87 Merge pull request 'Development' (#559) from Development into master
Merging changes from dev into master after successful testing.
2025-05-20 13:24:21 -04:00
bce8461a7e Merge pull request 'Development' (#555) from Development into master
Merging all changes from dev into master after successful testing.
2025-05-15 15:01:00 -04:00
9d5cc43d71 Merge pull request 'Development' (#543) from Development into master
Merging dev into master after successful testing.
2025-05-01 11:25:49 -04:00
bc1370ab29 Merge pull request 'Development' (#540) from Development into master
Merging changes from Development into master after successful testing.
2025-04-23 15:13:56 -04:00
eaf2b14cfc Merge pull request 'Development' (#535) from Development into master
Merging all changes from development into master after successful testing.
2025-03-26 09:25:11 -04:00
1cf7d81aa5 Merge pull request 'Development' (#530) from Development into master
Merging all changes through B2025-017 from dev into master after successful testing.
2025-03-04 10:24:28 -05:00
f11a9536f0 Merge pull request 'Development' (#524) from Development into master
Merging all changes through B2025-015 from development into master after successful testing.
2025-02-20 15:33:44 -05:00
c7bdcf0104 Merge pull request 'Development' (#516) from Development into master
Merging changes from development into master after successful testing
2025-02-11 15:25:38 -05:00
df026499d5 Merge pull request 'Development' (#512) from Development into master
Merging all changes from development into master after successful testing.
2025-02-10 09:20:43 -05:00
a3aa4157b8 Merge pull request 'Development' (#508) from Development into master
Merging all changes through B2025-012 from development into master after successful testing.
2025-02-05 10:50:35 -05:00
8f3268e1bc Merge pull request 'Development' (#504) from Development into master
Merging all changes from development into master after successful testing.
2025-01-30 15:55:02 -05:00
5721d440e9 Merge branch 'master' of https://git.volian.com/Volian/SourceCode 2025-01-21 10:42:15 -05:00
505c396283 Merge pull request 'Development' (#489) from Development into master
Merging from development into master after successful testing.
2025-01-21 10:41:15 -05:00
643e6bc94f Merge pull request 'Development' (#486) from Development into master
Merging all items through B2025-003 from development in master after successful testing.
2025-01-09 15:02:16 -05:00
76502e6d97 Merge pull request 'Development' (#481) from Development into master
Merging all changes through F2024-087 after successful testing.
2024-12-11 11:52:34 -05:00
851a0b3810 Merge pull request 'Development' (#464) from Development into master
Merging all items through B2024-092 from development into master after successful testing.
2024-11-11 11:39:01 -05:00
fd8dbb4c8b Merge pull request 'Development' (#454) from Development into master
Merging all changes from development into master after successful testing.
2024-11-01 14:18:00 -04:00
4ffd994c5e Merge pull request 'Development' (#450) from Development into master
Merging all development items into master after successful testing.
2024-10-31 09:11:59 -04:00
a34828113a Merge pull request 'Development' (#416) from Development into master
Merging C2017-031 and B2024-075 from development into master after successful testing.
2024-10-03 12:08:30 -04:00
461329468c Merge pull request 'Development' (#413) from Development into master
Merging F2023-136 and F2024-074 in master after successful testing
2024-09-27 14:27:22 -04:00
35de5df04d Merge pull request 'Development' (#410) from Development into master
Merging all items through B2024-03 from development into master after successful testing.
2024-09-17 12:03:23 -04:00
4f0548fd60 Merge pull request 'Development' (#402) from Development into master
Merging C2021-034 and B2024-065 into master after successful testing.
2024-09-06 09:56:37 -04:00
5c1d96cc51 Merge pull request 'Development' (#399) from Development into master
Merging all fixes through B2024-063 from development into master after successful testing.
2024-08-27 15:58:15 -04:00
57049c0c52 Merge pull request 'Development' (#392) from Development into master
Merging B2024-059 and B2024-058 from development into master after successful testing.
2024-08-15 14:55:27 -04:00
31326e1c91 Merge pull request 'Development' (#389) from Development into master
Merging all changes through F2024-069 from development into master after successful testing.
2024-08-09 13:06:40 -04:00
3c60994a0a Merge pull request 'Development' (#373) from Development into master
Merging all changes through B2024-053 from development into master after successful testing.
2024-08-01 08:37:23 -04:00
773cc42346 Merge pull request 'Development' (#362) from Development into master
Merging B2024-046 and B2024-047 from development into master after successful testing.
2024-07-25 10:44:42 -04:00
f46a1f39dc Merge pull request 'Development' (#359) from Development into master
Merging B2024-042 from development into master after successful testing.
2024-07-22 11:14:19 -04:00
b7175bf77f Merge pull request 'Development' (#357) from Development into master
Merging C2024-005 from development into master after successful testing.
2024-07-18 15:41:20 -04:00
ec22232aa8 Merge pull request 'Development' (#356) from Development into master
Merging all items through B2024-041 from development into master after successful testing.
2024-07-18 09:51:54 -04:00
f303cd2236 Merge pull request 'Development' (#348) from Development into master
Merging F2024-065 and F2024-066 from development into master after successful testing.
2024-07-03 10:45:41 -04:00
f40cef4416 Merge pull request 'Development' (#346) from Development into master
Merging F2024-064 from development into master after successful testing.
2024-07-01 11:54:15 -04:00
fbca97d38d Merge pull request 'Development' (#344) from Development into master
Merging C2024-013 from development into master after successful testing.
2024-06-25 15:55:32 -04:00
28bd2cba5c Merge pull request 'Development' (#342) from Development into master
Merging C2022-029 from development into master after successful testing.
2024-06-20 11:36:59 -04:00
4b35f73bbf Merge pull request 'Development' (#340) from Development into master
Merging C2024-004 from development into master after successful testing.
2024-06-19 16:23:23 -04:00
f4706eb126 Merge pull request 'Development' (#338) from Development into master
Merging C2019-047 from development into master after successful testing.
2024-06-17 08:38:34 -04:00
21bcb90558 Merge pull request 'Development' (#335) from Development into master
Merging B2024-036 and F2024-063 from development into master after successful testing.
2024-06-06 14:51:13 -04:00
ae48ac0cae Merge pull request 'Development' (#332) from Development into master
Merging changes through B2024-035 from development into master after successful testing.
2024-05-30 08:08:28 -04:00
cb4979d5bc Merge pull request 'Development' (#327) from Development into master
Merging F2024-061 from development into master after successful testing.
2024-05-20 14:11:12 -04:00
7d3ae74e1f Merge pull request 'Development' (#325) from Development into master
Merging F2024-060 from development into master after successful testing.
2024-05-16 15:32:13 -04:00
9d680aa500 Merge pull request 'Development' (#323) from Development into master
Merging C2024-001 from development into master after successful testing.
2024-05-16 14:17:17 -04:00
0d50b1c2fe Merge pull request 'Development' (#321) from Development into master
Merging all items through B2024-030 from development into master after successful testing.
2024-05-15 08:33:58 -04:00
75e034863f Merge pull request 'Development' (#315) from Development into master
Merging all changes through B2024-026 from development into master after successful testing.
2024-05-09 14:01:48 -04:00
3b42de1571 Merge pull request 'F2024-059_Callaway' (#311) from F2024-059_Callaway into master
Format only changes
2024-05-07 16:00:36 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
78be6e5dc1 Merge pull request 'Development' (#106) from Development into master
Merging GitAutomation from Development into Master.
2023-08-24 09:13:06 -04:00
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
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
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
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
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
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
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
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
10 changed files with 685 additions and 1104 deletions

Binary file not shown.

Binary file not shown.

View File

@ -164,9 +164,6 @@
<Compile Include="dlgCheckedOutProcedure.designer.cs"> <Compile Include="dlgCheckedOutProcedure.designer.cs">
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon> <DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="dlgExportImportEP.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="dlgMSWordMessage.cs"> <Compile Include="dlgMSWordMessage.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>

View File

@ -29,7 +29,6 @@ namespace VEPROMS
} }
private bool _ConvertROsToTextDuringImport = false; private bool _ConvertROsToTextDuringImport = false;
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
protected bool _ExportBothConvertedandNot = false; // set to true when Electronic Procedure export
// B2016-225 notify user when Transitions and/or ROs are converted to text // B2016-225 notify user when Transitions and/or ROs are converted to text
private bool _DidConvertTransitionsToText = false; private bool _DidConvertTransitionsToText = false;
@ -65,7 +64,7 @@ namespace VEPROMS
private FolderInfo MyFolder = null; private FolderInfo MyFolder = null;
private DocVersionInfo MyDocVersion = null; private DocVersionInfo MyDocVersion = null;
private ProcedureInfo MyProcedure = null; private ProcedureInfo MyProcedure = null;
protected XmlAttribute AddAttribute(XmlDocument xd, string name, string value) private XmlAttribute AddAttribute(XmlDocument xd, string name, string value)
{ {
XmlAttribute xa = xd.CreateAttribute(name); XmlAttribute xa = xd.CreateAttribute(name);
xa.InnerText = value; xa.InnerText = value;
@ -2424,17 +2423,9 @@ namespace VEPROMS
if (ii.ItemAnnotationCount > 0) if (ii.ItemAnnotationCount > 0)
foreach (AnnotationInfo ai in ii.ItemAnnotations) foreach (AnnotationInfo ai in ii.ItemAnnotations)
ExportAnnotation(xe, ai, "annotation"); ExportAnnotation(xe, ai, "annotation");
ExportEPAnnotationInfo(xe, ii);
} }
protected virtual void ExportEPAnnotationInfo(XmlElement xe, ItemInfo ii) private void ExportItemAudits(XmlElement xn, ItemInfo ii)
{
//do nothing - this will be for Electronic procedures only
//and handled/overridden in dlgExportEP.cs
}
private void ExportItemAudits(XmlElement xn, ItemInfo ii)
{ {
if (cbxExportAudits.Checked) if (cbxExportAudits.Checked)
{ {
@ -2575,7 +2566,6 @@ namespace VEPROMS
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"))); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", ci.UserID.ToString())); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", ci.UserID.ToString()));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "formatfilename", formatFileName)); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "formatfilename", formatFileName));
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "textwithlinks", ci.Text));
//content audits //content audits
ExportContentAudits(xe, ci); ExportContentAudits(xe, ci);
@ -2662,7 +2652,6 @@ namespace VEPROMS
MyWriter.WriteAttributeString("dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")); MyWriter.WriteAttributeString("dts", ci.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
MyWriter.WriteAttributeString("userid", ci.UserID.ToString()); MyWriter.WriteAttributeString("userid", ci.UserID.ToString());
MyWriter.WriteAttributeString("formatfilename", formatFileName); MyWriter.WriteAttributeString("formatfilename", formatFileName);
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("textwithlinks", ci.Text);
if (ci.ContentTransitionCount > 0) if (ci.ContentTransitionCount > 0)
foreach (TransitionInfo ti in ci.ContentTransitions) foreach (TransitionInfo ti in ci.ContentTransitions)
@ -2710,7 +2699,6 @@ namespace VEPROMS
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "config", gi.Config)); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "config", gi.Config));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"))); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", gi.UserID.ToString())); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", gi.UserID.ToString()));
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "datawithlinks", gi.Data));
//grid audits //grid audits
ExportGridAudits(xe, gi); ExportGridAudits(xe, gi);
@ -2770,7 +2758,6 @@ namespace VEPROMS
MyWriter.WriteAttributeString("config", gi.Config); MyWriter.WriteAttributeString("config", gi.Config);
MyWriter.WriteAttributeString("dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")); MyWriter.WriteAttributeString("dts", gi.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
MyWriter.WriteAttributeString("userid", gi.UserID.ToString()); MyWriter.WriteAttributeString("userid", gi.UserID.ToString());
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("datawithlinks", gi.Data);
MyWriter.WriteEndElement(); MyWriter.WriteEndElement();
} }
@ -2945,7 +2932,6 @@ namespace VEPROMS
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"))); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", di.UserID.ToString())); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", di.UserID.ToString()));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "fileextension", di.FileExtension)); xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "fileextension", di.FileExtension));
if (_ExportBothConvertedandNot) xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "doccontentwithlinks", Convert.ToBase64String(di.DocContent)));
//document audits //document audits
ExportDocumentAudits(xe, di); ExportDocumentAudits(xe, di);
@ -3012,7 +2998,6 @@ namespace VEPROMS
MyWriter.WriteAttributeString("dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")); MyWriter.WriteAttributeString("dts", di.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
MyWriter.WriteAttributeString("userid", di.UserID.ToString()); MyWriter.WriteAttributeString("userid", di.UserID.ToString());
MyWriter.WriteAttributeString("fileextension", di.FileExtension); MyWriter.WriteAttributeString("fileextension", di.FileExtension);
if (_ExportBothConvertedandNot) MyWriter.WriteAttributeString("doccontentwithlinks", Convert.ToBase64String(di.DocContent));
MyWriter.WriteEndElement(); MyWriter.WriteEndElement();
} }

View File

@ -1,202 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Xml;
using VEPROMS.CSLA.Library;
namespace VEPROMS
{
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
//class inherits from normal import/export form
//then adds additional functionality
public partial class dlgExportImportEP : dlgExportImport
{
private readonly AnnotationTypeInfo _AnnotationType;
private string multiseparator = ",";
private static Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]");
public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions) 0)
{
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
_ExportBothConvertedandNot = true;
DocReplace = new Dictionary<int, byte[]>();
FormClosed += OnClose;
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}";
}
public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0)
{
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
_ExportBothConvertedandNot = true;
DocReplace = new Dictionary<int, byte[]>();
FormClosed += OnClose;
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}";
}
public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0)
{
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
_ExportBothConvertedandNot = true;
DocReplace = new Dictionary<int, byte[]>();
FormClosed += OnClose;
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}";
}
//Overridden function to handle export of EP data
protected override void ExportEPAnnotationInfo(XmlElement xe, ItemInfo ii)
{
//switch to handle customizations for different formats
switch (ii.ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == _AnnotationType.TypeID)?.Name)
{
default:
ExportEPAnnotationInfo_Default(xe, ii);
break;
}
}
//default export of EP Data
private void ExportEPAnnotationInfo_Default(XmlElement xe, ItemInfo ii)
{
//Add tab text to item
string steptab = Volian.Print.Library.PDFReport.BuildStepTab(ii);
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "StepTab", steptab));
//get first transition in item and add it as an xml element
if (ii.MyContent.ContentTransitionCount > 0)
{
TransitionInfo ct = ii.MyContent.ContentTransitions[0];
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "TransitionToItemID", ct.ToID.ToString()));
}
//export EP annotation details under an EPInfo node
if (ii.ItemAnnotations != null)
{
XmlElement xepinfo = xe.OwnerDocument.CreateElement("EPInfo");
EPFields myEPFields = ii.GetValidEPFields(_AnnotationType.TypeID);
ROFSTLookup lookup = ii.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(ii.MyDocVersion);
//For each annotation in the item that is of the current EP Annotation type
foreach (var EPAnnotation in ii.ItemAnnotations.Where(x => x.TypeID == _AnnotationType.TypeID))
{
var EPAnnotationConfig = new AnnotationConfig(EPAnnotation.Config);
XmlElement xepdetails = xe.OwnerDocument.CreateElement("Details");
//include the annotation ID for reference
xepdetails.Attributes.SetNamedItem(AddAttribute(xepdetails.OwnerDocument, "AnnotationID", EPAnnotation.AnnotationID.ToString()));
//loop through each EP Field - name the xml elements the EP.name
foreach (EPField EP in myEPFields)
{
string val = EPAnnotationConfig.GetValue("EP", EP.name);
XmlElement xindivid = xe.OwnerDocument.CreateElement(EP.name);
//need to resolve ROs ROSingle, ROMulti, in text
//get values
//should we export blank?
//
switch (EP.type.ToLower())
{
case "text":
//for text, check if any embedded ROs
//if none, set the xml element to the text
//otherwise resolve the Ros
MatchCollection matches = _ROAccPageTokenPattern.Matches(val);
if (matches.Count == 0)
{
xindivid.InnerText = val;
}
else
{
//resolve ROs
//text ROs will replace the AccID key in the text
//for binary objects like images,
//we will keep the AccID in the text and output the binary as a separate child
//XML element with the same xml name as the AccID
foreach (Match m in matches)
{
ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(m.Groups[1].Value);
if (roc.type == 8) // Exclude replacing Images since are binary - for those, add a sub item
{
XmlElement xroid = xindivid.OwnerDocument.CreateElement(m.Groups[1].Value);
xroid.InnerText = roc.value;
xindivid.AppendChild(xroid);
}
else if (!string.IsNullOrEmpty(roc.value))
{
bool convertCaretToDeltaSymbol = (ii.ActiveSection != null) && ii.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta;
string rocvalue = roc.value.Replace("`", "\xB0");
rocvalue = rocvalue.Replace("\xF8", "\xB0");
rocvalue = rocvalue.Replace("\x7F", "\x394"); //delta
if (convertCaretToDeltaSymbol) rocvalue = rocvalue.Replace("^", "\x394"); // delta
val = val.Replace($"<{m.Groups[1].Value}>", rocvalue);
}
}
xindivid.InnerText = val;
}
break;
case "rosingle":
//Get the output columns from the EPFormatFile
//set the "Item" nodes value = to those resolved items
//separated by multiseparator
XmlElement xindivid_rosingle = xindivid.OwnerDocument.CreateElement("Item");
xindivid_rosingle.Attributes.SetNamedItem(AddAttribute(xindivid_rosingle.OwnerDocument, "ROID", val));
List<string> ro_single_tmp = EP.getROValuesList(EPAnnotation, val);
xindivid_rosingle.InnerText = String.Join(multiseparator, ro_single_tmp.ToArray());
xindivid.AppendChild(xindivid_rosingle);
break;
case "romulti":
//Get the output columns from the EPFormatFile
//create an "Item" subnode for each selected RO
//set the nodes value = to those resolved items
//separated by multiseparator
foreach (string ival in val.Split(multiseparator.ToCharArray()))
{
XmlElement xindivid_romulti = xindivid.OwnerDocument.CreateElement("Item");
xindivid_romulti.Attributes.SetNamedItem(AddAttribute(xindivid_romulti.OwnerDocument, "ROID", ival));
List<string> ro_multi_tmp = EP.getROValuesList(EPAnnotation, ival);
xindivid_romulti.InnerText = String.Join(multiseparator, ro_multi_tmp.ToArray());
xindivid.AppendChild(xindivid_romulti);
}
break;
case "tableinput":
xindivid.InnerText = val;
break;
default:
xindivid.InnerText = val;
break;
}
xepdetails.AppendChild(xindivid);
}
xepinfo.AppendChild(xepdetails);
}
xe.AppendChild(xepinfo);
}
}
//clear objects to release memory
private void OnClose(object sender, EventArgs e)
{
DocReplace.Clear();
DocReplace = null;
}
}
}

View File

@ -709,31 +709,14 @@ namespace VEPROMS
{ {
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session); int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
//form for exporting Electronic Procedures from FolderInfo dlg.ShowDialog(this);
if (args.AnnotationTypeId > 0)
MySessionInfo.CheckInItem(ownerid);
if (args.Index == 1 && dlg.MyNewFolder != null)
{ {
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", fi, this, args.AnnotationTypeId); tv.AddNewNode(dlg.MyNewFolder);
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
if (args.Index == 1 && dlg.MyNewFolder != null)
{
tv.AddNewNode(dlg.MyNewFolder);
}
}
else
{
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
if (args.Index == 1 && dlg.MyNewFolder != null)
{
tv.AddNewNode(dlg.MyNewFolder);
}
} }
} }
} }
@ -759,40 +742,18 @@ namespace VEPROMS
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion); int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
//form for exporting Electronic Procedures from DocVersionInfo dlg.MyNewProcedure = null;
if (args.AnnotationTypeId > 0) dlg.ExternalTransitionItem = null;
{ dlg.ShowDialog(this);
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", dvi, this, args.AnnotationTypeId);
dlg.MyNewProcedure = null;
dlg.ExternalTransitionItem = null;
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid); MySessionInfo.CheckInItem(ownerid);
if (dlg.MyNewProcedure != null) if (dlg.MyNewProcedure != null)
tv.AddNewNode(dlg.MyNewProcedure); tv.AddNewNode(dlg.MyNewProcedure);
if (dlg.ExternalTransitionItem != null)
tc.OpenItem(dlg.ExternalTransitionItem);
}
else
{
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
dlg.MyNewProcedure = null;
dlg.ExternalTransitionItem = null;
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
if (dlg.MyNewProcedure != null)
tv.AddNewNode(dlg.MyNewProcedure);
if (dlg.ExternalTransitionItem != null)
tc.OpenItem(dlg.ExternalTransitionItem);
}
if (dlg.ExternalTransitionItem != null)
tc.OpenItem(dlg.ExternalTransitionItem);
} }
} }
@ -808,24 +769,10 @@ namespace VEPROMS
else else
{ {
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure); int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
dlg.ShowDialog(this);
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) MySessionInfo.CheckInItem(ownerid);
//form for exporting Electronic Procedures from ProcedureInfo
if (args.AnnotationTypeId > 0)
{
dlgExportImportEP dlg = new dlgExportImportEP("Export", pi, this, args.AnnotationTypeId);
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
}
else
{
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
}
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -524,55 +524,7 @@ namespace Volian.Controls.Library
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem; ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0; bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0;
bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y"); bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y");
if (!editSteps) if (!editSteps) return;
{
if (secitm.Sections != null)
{
// if the transition to point is a section or procedure, just return
if (startitm.MyContent.Type < 20000) return;
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
// For the tree view, use parent, unless already at HLS. If at HLS, use this level.
//ItemInfo selitm2 = startitm.MyHLS;
ItemInfo selSubSec = secitm.Sections[0];
// The commented out code below is for displaying the steps from the first sub-section B2025-035
//ItemInfo subSelStep = selSubSec.Steps[0];
//E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
//if (subSelStep.IsInRNO)
// startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
//else
// startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
// B2025-035
ItemInfo subSelStep = secitm.Sections[0];
E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
if (subSelStep.IsInRNO)
startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
else
startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
// B2025-035
bool setsel2 = false;
while (startitm != null)
{
VETreeNode tvn = new VETreeNode(startitm, false);
tvn.Tag = startitm;
int active = this.tvTran.Nodes.Add(tvn);
if (subSelStep != null && startitm.ItemID == subSelStep.ItemID)
{
tvTran.SelectedNode = tvTran.Nodes[active];
setsel2 = true;
}
startitm = startitm.GetNext();
}
if (!setsel2) tvTran.SelectedNode = tvTran.Nodes[0];
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
tvTran.ItemHeight++;
tvTran.ItemHeight--;
}
return;
}
// if the transition to point is a section or procedure, just return // if the transition to point is a section or procedure, just return
if (startitm.MyContent.Type < 20000) return; if (startitm.MyContent.Type < 20000) return;
@ -982,13 +934,7 @@ namespace Volian.Controls.Library
// a different section was selected, if step section, update step list, otherwise, empty // a different section was selected, if step section, update step list, otherwise, empty
// it & disable. // it & disable.
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem; ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
if (!secitm.IsStepSection)
//if (secitm.IsStepSection)
//{
// cbTranSects.SelectedItem.Sections[0];
//}
if (!secitm.IsStepSection)
{ {
tvTran.Nodes.Clear(); tvTran.Nodes.Clear();
tvTran.Enabled = false; tvTran.Enabled = false;

View File

@ -22,8 +22,8 @@ namespace Volian.Controls.Library
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args); public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args); public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args); public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
@ -152,15 +152,6 @@ namespace Volian.Controls.Library
get { return _Index; } get { return _Index; }
set { _Index = value; } set { _Index = value; }
} }
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
//AnnotationType that would be doing an export for
private int _AnnotationTypeId = -1;
public int AnnotationTypeId
{
get { return _AnnotationTypeId; }
set { _AnnotationTypeId = value; }
}
//jcb multiunit //jcb multiunit
private string _Unit; private string _Unit;
public string Unit public string Unit
@ -188,13 +179,6 @@ namespace Volian.Controls.Library
_Destination = destination; _Destination = destination;
_Index = index; _Index = index;
} }
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, int annTypeId)
{
_Node = node;
_Destination = destination;
_Index = index;
_AnnotationTypeId = annTypeId;
}
//jcb multiunit //jcb multiunit
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex) public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
{ {
@ -204,20 +188,11 @@ namespace Volian.Controls.Library
_Unit = unit; _Unit = unit;
_UnitIndex = unitIndex; _UnitIndex = unitIndex;
} }
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex, int annTypeId)
{
_Node = node;
_Destination = destination;
_Index = index;
_Unit = unit;
_UnitIndex = unitIndex;
_AnnotationTypeId = annTypeId;
}
//end jcb multiunit //end jcb multiunit
#endregion #endregion
public override string ToString() public override string ToString()
{ {
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex); return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
} }
private string NodePath(TreeNode node) private string NodePath(TreeNode node)
@ -603,11 +578,11 @@ namespace Volian.Controls.Library
public event vlnTreeViewEvent ExportImportProcedureSets; public event vlnTreeViewEvent ExportImportProcedureSets;
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
{ {
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
} }
public event vlnTreeViewEvent PrintTransitionReport; public event vlnTreeViewEvent PrintTransitionReport;
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args) private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
{ {
@ -736,10 +711,7 @@ namespace Volian.Controls.Library
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
{ {
if (fi.HasWorkingDraft) if (fi.HasWorkingDraft)
{
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click)); cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
//AddEPExport(cm.MenuItems, 0, null);
}
else else
cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click)); cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click));
if (DoSpecificInfo) if (DoSpecificInfo)
@ -773,10 +745,10 @@ namespace Volian.Controls.Library
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi)) if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
{ {
cm.MenuItems.Add("Import Procedure", mi_Click); cm.MenuItems.Add("Import Procedure", mi_Click);
} }
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
{ {
OwnerInfoList.Reset(); OwnerInfoList.Reset();
oil = OwnerInfoList.GetByVersionID(dvi.VersionID); oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
@ -874,8 +846,7 @@ namespace Volian.Controls.Library
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure); oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion)) if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
{ {
cm.MenuItems.Add("Export Procedure", mi_Click); cm.MenuItems.Add("Export Procedure", mi_Click);
AddEPExport(cm.MenuItems, pri.MyDocVersion.MultiUnitCount, pri.MyDocVersion.UnitNames);
} }
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion)) if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
{ {
@ -1166,29 +1137,29 @@ namespace Volian.Controls.Library
{
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
PartInfo pi = tn.VEObject as PartInfo;
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
{ {
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) fi = tn.VEObject as FolderInfo;
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
PartInfo pi = tn.VEObject as PartInfo;
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
{ {
fi = tn.VEObject as FolderInfo; DocVersionInfo di = tn.VEObject as DocVersionInfo;
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
{ {
DocVersionInfo di = tn.VEObject as DocVersionInfo; // if it's an enhanced step that was linked from a source, don't allow delete
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children bool canDoDel = true;
{ ItemInfo iienh = tn.VEObject as ItemInfo;
// if it's an enhanced step that was linked from a source, don't allow delete if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
bool canDoDel = true; if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
ItemInfo iienh = tn.VEObject as ItemInfo; if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
}
} }
} }
} }
}
#endregion #endregion
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
@ -1388,53 +1359,7 @@ namespace Volian.Controls.Library
} }
} }
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
// Add context menu for exporting Electronic Procedures
// if has an Electronic procedure
// then loop through and add an Export for each EP Viewer
private void AddEPExport(Menu.MenuItemCollection menuItems, int MultiUnitCount, string[] UnitNames)
{
//get EP Annotations
AnnotationTypeInfoList annotations = AnnotationTypeInfoList.Get();
List<AnnotationTypeInfo> epAnnotations = new List<AnnotationTypeInfo>();
foreach (AnnotationTypeInfo tmp in annotations)
{
if (tmp.IsEPAnnotationType) epAnnotations.Add(tmp);
}
if (epAnnotations.Count == 0) return; // no Electronic Procedures
//add outer menu
MenuItem mi = menuItems.Add("Electronic Procedure Viewer Export");
foreach (AnnotationTypeInfo epAnn in epAnnotations)
{
//Add item for each individual EP Viewer
MenuItem mv = mi.MenuItems.Add(epAnn.Name);
//tag will be of format:
//{EP Annotation Type ID},{Unit}
//if not multi-unit, unit will be zero.
if (MultiUnitCount > 1)
{
//if multi-unit, add menu item for each unit
int k = 0;
foreach (string s in UnitNames)
{
k++;
MenuItem multiunit_mv = mv.MenuItems.Add(s);
multiunit_mv.Tag = $"{epAnn.TypeID},{k}";
multiunit_mv.Click += new EventHandler(miEP_Click);
}
}
else
{
mv.Tag = $"{epAnn.TypeID},0";
mv.Click += new EventHandler(miEP_Click);
}
}
}
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{ {
_currentPri = pri; _currentPri = pri;
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID); RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
@ -1485,11 +1410,11 @@ namespace Volian.Controls.Library
ril = null; ril = null;
} }
} }
public void AddNewNode(IVEDrillDownReadOnly o) public void AddNewNode(IVEDrillDownReadOnly o)
{ {
VETreeNode tn = new VETreeNode(o); VETreeNode tn = new VETreeNode(o);
SelectedNode.Nodes.Add(tn); SelectedNode.Nodes.Add(tn);
} }
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri) private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{ {
try try
@ -1498,7 +1423,7 @@ namespace Volian.Controls.Library
_currentPri = pri; _currentPri = pri;
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID)) using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
{ {
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
if (ril.Count == 0) return; // no versions to list if (ril.Count == 0) return; // no versions to list
MenuItem mi = menuItemCollection.Add("Versions"); MenuItem mi = menuItemCollection.Add("Versions");
int lastApprovedRevisionID = 0; int lastApprovedRevisionID = 0;
@ -1632,7 +1557,7 @@ namespace Volian.Controls.Library
} }
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
OnViewPDF(sender, args); OnViewPDF(sender, args);
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); // System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
} }
void MultiUnitApprovedRevision_Click(object sender, EventArgs e) void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
{ {
@ -1776,7 +1701,7 @@ namespace Volian.Controls.Library
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));
} }
#endregion #endregion
} }
else else
{ {
@ -2075,7 +2000,7 @@ namespace Volian.Controls.Library
{ {
ItemInfo lprc = ItemInfo.Get(ed.ItemID); ItemInfo lprc = ItemInfo.Get(ed.ItemID);
bool hasValidConnectingProc = CheckForValidEnhLink(lprc); bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
if (hasValidConnectingProc) if (hasValidConnectingProc)
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc); lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
else else
@ -2099,11 +2024,11 @@ namespace Volian.Controls.Library
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0)); OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
return; return;
} }
if (mi.Text.StartsWith("Collapse")) if (mi.Text.StartsWith("Collapse"))
{ {
CollapseProcedures(); CollapseProcedures();
return; return;
} }
if (mi.Text == "Print Transition Report") if (mi.Text == "Print Transition Report")
{ {
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode)); OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
@ -2119,17 +2044,17 @@ namespace Volian.Controls.Library
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
{ {
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
return; return;
} }
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
{ {
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
return; return;
} }
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
{ {
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
return; return;
@ -2199,7 +2124,7 @@ namespace Volian.Controls.Library
tv_NodeCopy(); tv_NodeCopy();
break; break;
// lots of paste options: // lots of paste options:
case "Paste Procedure": case "Paste Procedure":
case "Paste Procedure Before": case "Paste Procedure Before":
case "Paste Procedure After": case "Paste Procedure After":
case "Paste Section": case "Paste Section":
@ -2301,12 +2226,12 @@ namespace Volian.Controls.Library
case "Create Continuous Action Summary": case "Create Continuous Action Summary":
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
// F2022-024 Time Critical Action Summary // F2022-024 Time Critical Action Summary
case "Create Time Critical Action Summary": case "Create Time Critical Action Summary":
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
case "CANNOT PASTE HERE. Click for more information...": case "CANNOT PASTE HERE. Click for more information...":
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" + FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
"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");
@ -2330,23 +2255,6 @@ namespace Volian.Controls.Library
break; break;
} }
} }
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
// Handles clicking of items in the context menu
// for exporting Electronic Procedures
// tag will be of format:
// {EP Annotation Type ID},{Unit}
// if not multi-unit, unit will be zero.
void miEP_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
int annTypeid = int.Parse(((string)mi.Tag).Split(',')[0]);
int unit = int.Parse(((string)mi.Tag).Split(',')[1]);
if (unit == 0)
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, annTypeid));
else
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, "", unit, annTypeid));
}
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
private void CollapseProcedures() private void CollapseProcedures()
{ {
@ -2365,7 +2273,7 @@ namespace Volian.Controls.Library
foreach (VETreeNode tnc in tn.Nodes) foreach (VETreeNode tnc in tn.Nodes)
CollapseProcedures(tnc); CollapseProcedures(tnc);
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null) if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
tn.Collapse(); tn.Collapse();
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node _doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
} }
private void tv_RemoveChgIds() private void tv_RemoveChgIds()
@ -2425,7 +2333,7 @@ namespace Volian.Controls.Library
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID)) using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
{ {
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
{ {
// only load the RO.fst // only load the RO.fst
@ -2676,7 +2584,7 @@ namespace Volian.Controls.Library
//if (p.IndexOf("Replace") <= -1) //if (p.IndexOf("Replace") <= -1)
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID) public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
@ -2808,7 +2716,7 @@ namespace Volian.Controls.Library
SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
SelectedNode = tn1; SelectedNode = tn1;
} }
private void tv_NodeCopy() private void tv_NodeCopy()
{ {
if (SelectedNode == null) return; if (SelectedNode == null) return;
VETreeNode tn = SelectedNode as VETreeNode; VETreeNode tn = SelectedNode as VETreeNode;
@ -2846,7 +2754,7 @@ namespace Volian.Controls.Library
{ {
using (Folder folder = folderInfo.Get()) using (Folder folder = folderInfo.Get())
{ {
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
} }
} }
private void OpenProperties(DocVersionInfo dvInfo) private void OpenProperties(DocVersionInfo dvInfo)
@ -2860,7 +2768,7 @@ namespace Volian.Controls.Library
{ {
using (Procedure proc = procInfo.Get()) using (Procedure proc = procInfo.Get())
{ {
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
} }
} }
private void OpenProperties(SectionInfo sectInfo) private void OpenProperties(SectionInfo sectInfo)
@ -2873,7 +2781,7 @@ namespace Volian.Controls.Library
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title); title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
else else
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title); title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
} }
} }
private void OpenProperties(StepInfo stpinfo) private void OpenProperties(StepInfo stpinfo)
@ -3011,7 +2919,7 @@ namespace Volian.Controls.Library
procedure.Save(); procedure.Save();
tn = new VETreeNode(_LastProcedureInfo); tn = new VETreeNode(_LastProcedureInfo);
SelectedNode.Nodes.Add(tn); // add tree node to end of list. SelectedNode.Nodes.Add(tn); // add tree node to end of list.
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
if (procedure.MyProcedureInfo.CreateEnhanced) if (procedure.MyProcedureInfo.CreateEnhanced)
{ {
@ -3063,11 +2971,11 @@ namespace Volian.Controls.Library
string message = string.Empty; string message = string.Empty;
if (_LastProcedureInfo != null) if (_LastProcedureInfo != null)
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message)) if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
{ {
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
OnUnPauseRefresh(this, null); OnUnPauseRefresh(this, null);
return; return;
} }
int s1 = -1; int s1 = -1;
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null)) if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
{ {
@ -3120,8 +3028,8 @@ namespace Volian.Controls.Library
{ {
tn = new VETreeNode(_LastSectionInfo); tn = new VETreeNode(_LastSectionInfo);
SelectedNode.Nodes.Add(tn); // add tree node to end of list. SelectedNode.Nodes.Add(tn); // add tree node to end of list.
// if the new section was flagged as either having an enhanced link for Title or Contents, create the // if the new section was flagged as either having an enhanced link for Title or Contents, create the
// Enhanced section: // Enhanced section:
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
@ -3149,7 +3057,7 @@ namespace Volian.Controls.Library
if (s1 != -1) if (s1 != -1)
{ {
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
// B2020-087 refresh the tree node after canceling the creation of the subsection // B2020-087 refresh the tree node after canceling the creation of the subsection
_LastTreeNode.ChildrenLoaded = false; _LastTreeNode.ChildrenLoaded = false;
_LastTreeNode.RefreshNode(); _LastTreeNode.RefreshNode();
_LastTreeNode.Collapse(); _LastTreeNode.Collapse();
@ -3196,7 +3104,7 @@ namespace Volian.Controls.Library
if (s2 != -1) if (s2 != -1)
{ {
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
// B2020-087 refresh the tree node after canceling the creation of the subsection // B2020-087 refresh the tree node after canceling the creation of the subsection
_LastTreeNode.ChildrenLoaded = false; _LastTreeNode.ChildrenLoaded = false;
_LastTreeNode.RefreshNode(); _LastTreeNode.RefreshNode();
_LastTreeNode.Collapse(); _LastTreeNode.Collapse();
@ -4138,7 +4046,7 @@ namespace Volian.Controls.Library
{ {
return; return;
} }
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
// Changed the color of the drag indicator to always be red // Changed the color of the drag indicator to always be red
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red); Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red); Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
@ -4165,12 +4073,12 @@ namespace Volian.Controls.Library
//if (e.Effect == DragDropEffects.None) return; //if (e.Effect == DragDropEffects.None) return;
if (_dropNode != null) if (_dropNode != null)
{ {
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); // if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
DragHelper.ImageList_DragShowNolock(false); DragHelper.ImageList_DragShowNolock(false);
TreeView tv = _dropNode.TreeView; TreeView tv = _dropNode.TreeView;
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y))); TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
// if (!ScrollOnly) // if (!ScrollOnly)
// { // {
if (ScrollTreeView(tmp) || !ScrollOnly) if (ScrollTreeView(tmp) || !ScrollOnly)
{ {
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
@ -4183,8 +4091,8 @@ namespace Volian.Controls.Library
if (_position != DropPosition.Child) InsertPointer(tmp, g); if (_position != DropPosition.Child) InsertPointer(tmp, g);
} }
} }
// } // }
// else ScrollTreeView(tmp); // else ScrollTreeView(tmp);
DragHelper.ImageList_DragShowNolock(true); DragHelper.ImageList_DragShowNolock(true);
} }
} }
@ -4207,10 +4115,10 @@ namespace Volian.Controls.Library
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
else else
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false) if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
else else
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false) if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
retval = (top != tn.Bounds.Top); retval = (top != tn.Bounds.Top);
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll"); // if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
} }
@ -4439,28 +4347,28 @@ namespace Volian.Controls.Library
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex); if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
} }
} }
// private void DumpMembers(object o) // private void DumpMembers(object o)
// { // {
// Type t = o.GetType(); // Type t = o.GetType();
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
// MemberInfo[] mis = t.GetMembers(); // MemberInfo[] mis = t.GetMembers();
// int i = 0; // int i = 0;
// foreach (MemberInfo mi in mis) // foreach (MemberInfo mi in mis)
// { // {
// i++; // i++;
// try // try
// { // {
// //if(mi.MemberType != MemberTypes.Method) // //if(mi.MemberType != MemberTypes.Method)
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
//// if (fi.Name == "TreeView") //// if (fi.Name == "TreeView")
//// fi.SetValue(o, null); //// fi.SetValue(o, null);
// } // }
// catch (Exception ex) // catch (Exception ex)
// { // {
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); // if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
// } // }
// } // }
// } // }
private TreeNode Clone(TreeNode tn) private TreeNode Clone(TreeNode tn)
{ {

View File

@ -1688,7 +1688,7 @@ namespace Volian.Print.Library
System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
} }
public static string BuildStepTab(ItemInfo item) private static string BuildStepTab(ItemInfo item)
{ {
if (item == null) if (item == null)
return string.Empty; return string.Empty;