Compare commits
54
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70f132540f | ||
|
|
cd9eaaaba1 | ||
|
|
70aa1f4024 | ||
|
|
1d634d96fe | ||
|
|
4eb5254d96 | ||
|
|
6c2eee0cbc | ||
|
|
3c5265cecf | ||
|
|
478d35890d | ||
|
|
1b9b63412c | ||
|
|
3bb8fff3a1 | ||
|
|
694bc0ead4 | ||
|
|
cfc324d31e | ||
|
|
43b63e2843 | ||
|
|
f2ec510a70 | ||
|
|
453edbb28e | ||
|
|
bc9407f52f | ||
|
|
954cc5918f | ||
|
|
4ef16e7856 | ||
|
|
1eb3c3e725 | ||
|
|
a89c2d3d22 | ||
|
|
914837a5a2 | ||
|
|
9643a71ba5 | ||
|
|
aa7e0528f8 | ||
|
|
57bd8d569e | ||
|
|
b49d8871a2 | ||
|
|
b90d419bc5 | ||
|
|
1f48d498e1 | ||
|
|
da6139c932 | ||
|
|
be744b40a3 | ||
|
|
780ce657ca | ||
|
|
464be0f803 | ||
|
|
58a6cb9a24 | ||
|
|
9bf7b2ffde | ||
|
|
cde1f28215 | ||
|
|
db198cb7d0 | ||
|
|
99fe567e78 | ||
|
|
2261c8f0f5 | ||
|
|
f93b16fc52 | ||
|
|
7c3a43749c | ||
|
|
ecec7b9f1a | ||
|
|
1aca7335f7 | ||
|
|
ba5aee6640 | ||
|
|
abaf55e9b1 | ||
|
|
3a2dd0b0aa | ||
|
|
0fed1acfd8 | ||
|
|
d7c2300021 | ||
|
|
fca333299d | ||
|
|
a13b03a136 | ||
|
|
48054f5bf1 | ||
|
|
51f2897a33 | ||
|
|
7a3a07b0da | ||
|
|
7c3cfca86c | ||
|
|
05ab48cdc5 | ||
|
|
fd51c209a3 |
@@ -402,3 +402,4 @@ FodyWeavers.xsd
|
|||||||
/fmtall
|
/fmtall
|
||||||
/genmacall
|
/genmacall
|
||||||
*AssemblyInfo.cs
|
*AssemblyInfo.cs
|
||||||
|
/PROMS/Baseline/Baseline.sln
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -5547,6 +5547,12 @@ ELSE PRINT 'Function: ve_GetItemDerivedApplicability Error on Creation'
|
|||||||
GO
|
GO
|
||||||
|
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Matthew Schill
|
||||||
|
-- Modify date: 07/14/2026
|
||||||
|
-- Description: Reworked ve_GetParentItem for Performance improvement
|
||||||
|
-- =============================================
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [ve_GetParentItem];
|
DROP FUNCTION [ve_GetParentItem];
|
||||||
@@ -5555,35 +5561,46 @@ GO
|
|||||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
CREATE FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
CREATE OR ALTER FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE @ParentID int;
|
DECLARE @ParentID int;
|
||||||
WITH Itemz([ItemID],[IsFound]) as
|
WITH Itemz([ItemID]) as
|
||||||
(
|
(
|
||||||
select ii.itemid,0 from items ii where ii.itemid = @ItemID
|
select ii.itemid from items ii WITH (NOLOCK) where ii.itemid = @ItemID
|
||||||
union all
|
union all
|
||||||
select ii.previousid,0 from items ii
|
select ii.previousid from items ii WITH (NOLOCK)
|
||||||
join itemz zz on ii.itemid = zz.itemid
|
join itemz zz on ii.itemid = zz.itemid
|
||||||
where ii.previousid is not null
|
where ii.previousid is not null
|
||||||
and zz.isfound = 0
|
|
||||||
union all
|
|
||||||
select ii.itemid,1
|
|
||||||
from parts pp
|
|
||||||
join itemz zz on pp.itemid = zz.itemid
|
|
||||||
join items ii on ii.contentid = pp.contentid
|
|
||||||
)
|
)
|
||||||
select top 1 @ParentID = itemid from itemz
|
select top 1 @ParentID = ii.itemid
|
||||||
where isfound = 1 OPTION (MAXRECURSION 10000)
|
from itemz
|
||||||
|
inner join parts pp WITH (NOLOCK) on pp.itemid = itemz.itemid
|
||||||
|
inner join items ii WITH (NOLOCK) on ii.contentid = pp.contentid
|
||||||
|
OPTION (MAXRECURSION 10000)
|
||||||
|
|
||||||
RETURN @ParentID
|
RETURN @ParentID
|
||||||
END
|
END
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
||||||
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
||||||
go
|
go
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysIndexes WHERE name like 'IX_PartsItemID')
|
||||||
|
DROP INDEX [IX_PartsItemID] ON [dbo].[tblParts];
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE NONCLUSTERED INDEX IX_PartsItemID
|
||||||
|
ON [dbo].[tblParts] ([ItemID] ASC)
|
||||||
|
INCLUDE([ContentID],[DeleteStatus],[FromType]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
GO
|
||||||
|
|
||||||
|
PRINT 'Added IX_PartsItemID Index. Speeds up Getting Parent Items'
|
||||||
|
GO
|
||||||
|
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
||||||
@@ -25051,8 +25068,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '06/29/2026 7:00 AM'
|
set @RevDate = '07/16/2026 8:30 AM'
|
||||||
set @RevDescription = 'Update to Grid Deletion Audits'
|
set @RevDescription = 'Reworked ve_GetParentItem for Performance improvement'
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
@@ -2148,7 +2148,7 @@ namespace VEPROMS
|
|||||||
//C2019-036 View Only mode work with Checked Out Procedures
|
//C2019-036 View Only mode work with Checked Out Procedures
|
||||||
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
||||||
// This will keep those tabs from auto-closing based on the timer
|
// This will keep those tabs from auto-closing based on the timer
|
||||||
if (!myList.Contains(dti.OwnerID) && dti.MyStepTabPanel.MyStepPanel.VwMode != E_ViewMode.View)
|
if (!myList.Contains(dti.OwnerID) && dti?.MyStepTabPanel?.MyStepPanel?.VwMode != E_ViewMode.View)
|
||||||
{
|
{
|
||||||
MyCloseTabList.PushDTI(dti);
|
MyCloseTabList.PushDTI(dti);
|
||||||
}
|
}
|
||||||
@@ -3578,6 +3578,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (parameter.StartsWith("/P="))
|
if (parameter.StartsWith("/P="))
|
||||||
{
|
{
|
||||||
|
BaseLnSettings.blBaseLine = true;
|
||||||
MSWordToPDF.Automatic = true;
|
MSWordToPDF.Automatic = true;
|
||||||
PromsPrinter.BaselineTesting = true;// Set Baseline Testing property for PROMsPrinter
|
PromsPrinter.BaselineTesting = true;// Set Baseline Testing property for PROMsPrinter
|
||||||
string[] dvstrs = parameter.Substring(3).Split(",".ToCharArray());
|
string[] dvstrs = parameter.Substring(3).Split(",".ToCharArray());
|
||||||
@@ -3623,7 +3624,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
ranAuto = true;
|
ranAuto = true;
|
||||||
}
|
}
|
||||||
|
BaseLnSettings.blBaseLine = false;
|
||||||
if (ranAuto)
|
if (ranAuto)
|
||||||
{
|
{
|
||||||
this.Close();
|
this.Close();
|
||||||
|
|||||||
@@ -2163,9 +2163,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// move past that text and try the Word Find function again.
|
// move past that text and try the Word Find function again.
|
||||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||||
|
// B2026-070: When there is a less-then sign (<) followed by a numeric value in a Word attachment (inside of a table), PROMS thinks the user put in an RO token will generate an RO not found error in the following table row who's text contains <U-Name>.
|
||||||
if (executeResult && !string.IsNullOrEmpty(sel.Text) && !sel.Text.StartsWith("<") && !sel.Text.EndsWith(">"))
|
if (executeResult && !string.IsNullOrEmpty(sel.Text) && !sel.Text.StartsWith("<") && !sel.Text.EndsWith(">"))
|
||||||
{
|
{
|
||||||
sel.MoveStart(LBWdUnits.wdCharacter, sel.Text.Length - 1);
|
int location = sel.Start + sel.Text.Length - 1; //do not do this inline - this needs captured before WholeStory
|
||||||
|
|
||||||
|
sel.WholeStory();
|
||||||
|
sel.MoveStart(LBWdUnits.wdCharacter, location);
|
||||||
tryagain = true;
|
tryagain = true;
|
||||||
}
|
}
|
||||||
} while (tryagain);
|
} while (tryagain);
|
||||||
|
|||||||
@@ -262,8 +262,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
||||||
{
|
{
|
||||||
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
||||||
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
|
||||||
}
|
}
|
||||||
|
// B2026-066 moved this out of if statement above
|
||||||
|
// - was not resetting the datetime and thus not disabling the Update RO Values button and menu item
|
||||||
|
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,6 +328,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// all of the calls aways set the flags to not update the RO values
|
// all of the calls aways set the flags to not update the RO values
|
||||||
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
||||||
{
|
{
|
||||||
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
|
|
||||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||||
|
|
||||||
int origFSTid = origROFst.ROFstID;
|
int origFSTid = origROFst.ROFstID;
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace VEPROMS.CSLA.Library
|
||||||
|
{
|
||||||
|
public static class ROWorkingDraftAsk
|
||||||
|
{
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<int> WorkingDrafts = new List<int>();
|
||||||
|
|
||||||
|
public static void AddWorkingDrafts(int wd) => WorkingDrafts.Add(wd);
|
||||||
|
|
||||||
|
public static void ClearWorkingDrafts() => WorkingDrafts.Clear();
|
||||||
|
|
||||||
|
public static bool ContainsWorkingDraft(int wd) => WorkingDrafts.Contains(wd);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -396,6 +396,7 @@
|
|||||||
<Compile Include="Minimal\UserReports.cs" />
|
<Compile Include="Minimal\UserReports.cs" />
|
||||||
<Compile Include="Minimal\UserSettings.cs" />
|
<Compile Include="Minimal\UserSettings.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Session\ROWorkingDraftAsk.cs" />
|
||||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Volian.Base.Library
|
||||||
|
{
|
||||||
|
public static class BaseLnSettings
|
||||||
|
{
|
||||||
|
private static bool _blBaseLine = false;
|
||||||
|
public static bool blBaseLine
|
||||||
|
{
|
||||||
|
get { return _blBaseLine; }
|
||||||
|
set { _blBaseLine = value; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -90,6 +90,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="BaseLnSettings.cs" />
|
||||||
<Compile Include="BigNum.cs" />
|
<Compile Include="BigNum.cs" />
|
||||||
<Compile Include="ByteArrayCompare.cs" />
|
<Compile Include="ByteArrayCompare.cs" />
|
||||||
<Compile Include="DebugPrint.cs" />
|
<Compile Include="DebugPrint.cs" />
|
||||||
|
|||||||
@@ -613,8 +613,16 @@ namespace Volian.Controls.Library
|
|||||||
_In_DSOTabPanel_Enter = false;
|
_In_DSOTabPanel_Enter = false;
|
||||||
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
||||||
// B2018-070 Position the text cursor - Activate MS Word Panel
|
// B2018-070 Position the text cursor - Activate MS Word Panel
|
||||||
|
try
|
||||||
|
{
|
||||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//B2026-067 - Do nothing if cannot Position cursor
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
private bool _IsBeingDeleted = false;
|
private bool _IsBeingDeleted = false;
|
||||||
|
|||||||
@@ -643,16 +643,15 @@ namespace Volian.Controls.Library
|
|||||||
if (_docVersionInfo != null && fstid != -1 && fstid != MyROFSTLookup.RofstID)
|
if (_docVersionInfo != null && fstid != -1 && fstid != MyROFSTLookup.RofstID)
|
||||||
{
|
{
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (_progressBar?.Text != "Cannot check-out Working Draft" && !MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
if (_progressBar?.Text != "RO Check Paused - Other Users In Set" && !MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show(this, message, "Working Draft Has Items Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
FinalProgressBarMessage = "RO Check Paused - Other Users In Set";
|
||||||
FinalProgressBarMessage = "Cannot check-out Working Draft";
|
|
||||||
}
|
}
|
||||||
else if (!MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
else if (!MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
{
|
{
|
||||||
//do nothing - is still checked out
|
//do nothing - is still checked out
|
||||||
}
|
}
|
||||||
else if (changedDocVersion && !askedAboutchangedDocVersion)
|
else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
|
||||||
{
|
{
|
||||||
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
@@ -671,10 +670,13 @@ namespace Volian.Controls.Library
|
|||||||
updatedROs = true;
|
updatedROs = true;
|
||||||
|
|
||||||
askedAboutchangedDocVersion = false;
|
askedAboutchangedDocVersion = false;
|
||||||
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
askedAboutchangedDocVersion = true;
|
askedAboutchangedDocVersion = true;
|
||||||
|
if (!ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
|
||||||
|
ROWorkingDraftAsk.AddWorkingDrafts(_docVersionInfo.VersionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -716,7 +718,7 @@ namespace Volian.Controls.Library
|
|||||||
if (tmpROID != null) ExpandNode(ROFSTLookup.FormatRoidKey(tmpROID, true));
|
if (tmpROID != null) ExpandNode(ROFSTLookup.FormatRoidKey(tmpROID, true));
|
||||||
|
|
||||||
//doc version would have updated (if needed) so reset flag
|
//doc version would have updated (if needed) so reset flag
|
||||||
if (_progressBar?.Text != "Cannot check-out Working Draft")
|
if (_progressBar?.Text != "RO Check Paused - Other Users In Set")
|
||||||
{
|
{
|
||||||
changedDocVersion = false;
|
changedDocVersion = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2016,35 +2016,16 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
||||||
|
|
||||||
// C2020-009: Search - Allow search 'By Word'.
|
|
||||||
string byWordPrefix = string.Empty;
|
string byWordPrefix = string.Empty;
|
||||||
string byWordSuffix = string.Empty;
|
string byWordSuffix = string.Empty;
|
||||||
if (cbxByWord.Checked)
|
if (cbxByWord.Checked)
|
||||||
{
|
{
|
||||||
// Generate a prefix & suffix to be used in the sql query around the search string.
|
byWordPrefix = GetByWordSettings(TextSearchString, true);
|
||||||
// If the search string starts (prefix)/ends(suffix) with a number, then use an expression that
|
byWordSuffix = GetByWordSettings(TextSearchString, false);
|
||||||
// does not allow the preceding/following text to have a number, '.', letter or other rtf
|
|
||||||
// commands. If the search string starts/ends with a letter, then use an expression that does not
|
|
||||||
// find the preceding/following text that is text, i.e. a letter.
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"^[\d\.]")) // starts with a number or '.' decimal pt
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"^[a-zA-Z]")) // starts with a letter
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"[\d\.]$")) // ends with a number or decimal
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"[a-zA-Z]$")) // ends with a letter
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchString = TextSearchString;
|
SearchString = TextSearchString;
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix);
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix);
|
||||||
|
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
@@ -2078,8 +2059,8 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
||||||
{
|
{
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, GetByWordSettings(ROSearchList, true), GetByWordSettings(ROSearchList, false));
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2189,7 +2170,52 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
||||||
}
|
}
|
||||||
|
private string GetByWordSettings(string ss, bool checkstart)
|
||||||
|
{
|
||||||
|
|
||||||
|
// C2020-009: Search - Allow search 'By Word'.
|
||||||
|
|
||||||
|
// // Generate a prefix & suffix to be used in the sql query around the search string.
|
||||||
|
// // If the search string starts (prefix)/ends(suffix) with a number, then use an expression that
|
||||||
|
// // does not allow the preceding/following text to have a number, '.', letter or other rtf
|
||||||
|
// // commands. If the search string starts/ends with a letter, then use an expression that does not
|
||||||
|
// // find the preceding/following text that is text, i.e. a letter.
|
||||||
|
|
||||||
|
if (ss.Length > 0)
|
||||||
|
{
|
||||||
|
//checking start
|
||||||
|
if (checkstart)
|
||||||
|
{
|
||||||
|
// starts with a number or '.' decimal pt
|
||||||
|
if (char.IsNumber(ss, 0) || ss[0] == '.')
|
||||||
|
{
|
||||||
|
return @"[^0-9a-zA-Z.vbpi:\\-]";
|
||||||
|
}
|
||||||
|
// starts with a letter
|
||||||
|
else if (char.IsLetter(ss, 0))
|
||||||
|
{
|
||||||
|
return @"[^a-zA-Z]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//checking end
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// ends with a number or '.' decimal pt
|
||||||
|
if (char.IsNumber(ss, ss.Length - 1) || ss[ss.Length - 1] == '.')
|
||||||
|
{
|
||||||
|
return @"[^0-9a-zA-Z.vbpi:\\-]";
|
||||||
|
}
|
||||||
|
// ends with a letter
|
||||||
|
else if (char.IsLetter(ss, ss.Length - 1))
|
||||||
|
{
|
||||||
|
return @"[^a-zA-Z]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//default
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
||||||
{
|
{
|
||||||
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
||||||
|
|||||||
@@ -3684,15 +3684,14 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, null);
|
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, null);
|
||||||
|
|
||||||
string accpgid = accpageid;
|
//B2022-083: Support Conditional RO Values
|
||||||
|
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||||
//B2022 - 083: Support Conditional RO Values
|
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid.Replace(@"\u8209?", "-"), multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
|
||||||
|
|
||||||
if (roc.value == null)
|
if (roc.value == null)
|
||||||
{
|
{
|
||||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
// try again but this time with the unicode dash
|
||||||
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||||
|
|||||||
@@ -1660,13 +1660,13 @@ i = 0;
|
|||||||
{
|
{
|
||||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
||||||
|
|
||||||
string accpgid = accpageid;
|
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpageid.Replace(@"\u8209?", "-") + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
|
|
||||||
if (roc.value == null)
|
if (roc.value == null)
|
||||||
{
|
{
|
||||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
// try again but this time with the unicode dash
|
||||||
roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
roc = myLookup.GetROChildByAccPageID("<" + accpageid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using System.Windows.Forms;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Volian.Base.Library;
|
||||||
using VG;
|
using VG;
|
||||||
|
|
||||||
namespace XYPlots
|
namespace XYPlots
|
||||||
@@ -281,22 +282,28 @@ namespace XYPlots
|
|||||||
private bool LoadBuff(string FileName)
|
private bool LoadBuff(string FileName)
|
||||||
{
|
{
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
// File does not exist, show error message
|
// File does not exist, show error message
|
||||||
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Open the X/Y Plot file
|
// Open the X/Y Plot file
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
XYPlotFile = File.OpenRead(FileName);
|
XYPlotFile = File.OpenRead(FileName);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
// cannot open the x/y plot file
|
// cannot open the x/y plot file
|
||||||
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
int blen = (int)XYPlotFile.Length;
|
int blen = (int)XYPlotFile.Length;
|
||||||
int bread = 0;
|
int bread = 0;
|
||||||
// initialize a byte array to read into
|
// initialize a byte array to read into
|
||||||
@@ -308,19 +315,25 @@ namespace XYPlots
|
|||||||
bread = XYPlotFile.Read(bbuf, 0, blen);
|
bread = XYPlotFile.Read(bbuf, 0, blen);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
XYPlotFile.Close();
|
XYPlotFile.Close();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < bbuf.Length; i++)
|
for (int i = 0; i < bbuf.Length; i++)
|
||||||
{
|
{
|
||||||
@@ -446,7 +459,7 @@ namespace XYPlots
|
|||||||
char retval;
|
char retval;
|
||||||
StringBuilder Lbuff = new StringBuilder();
|
StringBuilder Lbuff = new StringBuilder();
|
||||||
retval = NextChar();
|
retval = NextChar();
|
||||||
if (retval != '"' && retval != '\x1C') // open double quote
|
if (retval != '"' && retval != '\x1C' && !BaseLnSettings.blBaseLine) // open double quote
|
||||||
MessageBox.Show("Double Quote not found", "Syntax problem in XY Plot");
|
MessageBox.Show("Double Quote not found", "Syntax problem in XY Plot");
|
||||||
retval = NextChar();
|
retval = NextChar();
|
||||||
while (retval != 0 && retval != '\n')
|
while (retval != 0 && retval != '\n')
|
||||||
@@ -1439,9 +1452,12 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void PrintStackError(string relation, int limit)
|
private void PrintStackError(string relation, int limit)
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
private void SavePosition()
|
private void SavePosition()
|
||||||
{
|
{
|
||||||
if (stack >= MAX_XY_STACK) PrintStackError(">=", MAX_XY_STACK);
|
if (stack >= MAX_XY_STACK) PrintStackError(">=", MAX_XY_STACK);
|
||||||
@@ -1657,10 +1673,13 @@ namespace XYPlots
|
|||||||
maximum[flag] = newmaximum;
|
maximum[flag] = newmaximum;
|
||||||
}
|
}
|
||||||
private void err_exit(string msg, string msg2)
|
private void err_exit(string msg, string msg2)
|
||||||
|
{
|
||||||
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
{
|
{
|
||||||
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
||||||
Environment.Exit(255);
|
Environment.Exit(255);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
private void FindBoxesinArea(int ptval, int flag)
|
private void FindBoxesinArea(int ptval, int flag)
|
||||||
{
|
{
|
||||||
XyBox cptr;
|
XyBox cptr;
|
||||||
@@ -1991,12 +2010,16 @@ namespace XYPlots
|
|||||||
AxisLabel[1] = getint();
|
AxisLabel[1] = getint();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (BaseLnSettings.blBaseLine == false) // B2026-056 suppress messages when running baseline.
|
||||||
|
{
|
||||||
if (PrevCommand.Equals(null))
|
if (PrevCommand.Equals(null))
|
||||||
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
||||||
else
|
else
|
||||||
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
PrevCommand = Command;
|
PrevCommand = Command;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,6 +176,10 @@
|
|||||||
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
|
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
|
||||||
<Name>VG</Name>
|
<Name>VG</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Volian.Base.Library\Volian.Base.Library.csproj">
|
||||||
|
<Project>{aeee9fd1-6892-45e2-a67e-418c06d46ff9}</Project>
|
||||||
|
<Name>Volian.Base.Library</Name>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Properties\" />
|
<Folder Include="Properties\" />
|
||||||
|
|||||||
Reference in New Issue
Block a user