Compare commits
41
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b9b63412c | ||
|
|
3bb8fff3a1 | ||
|
|
694bc0ead4 | ||
|
|
cfc324d31e | ||
|
|
43b63e2843 | ||
|
|
f2ec510a70 | ||
|
|
453edbb28e | ||
|
|
bc9407f52f | ||
|
|
954cc5918f | ||
|
|
4ef16e7856 | ||
|
|
1eb3c3e725 | ||
|
|
a89c2d3d22 | ||
|
|
914837a5a2 | ||
|
|
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 | ||
|
|
7a3a07b0da | ||
|
|
05ab48cdc5 | ||
|
|
fd51c209a3 |
Binary file not shown.
Binary file not shown.
@@ -2148,7 +2148,7 @@ namespace VEPROMS
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// 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
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -262,8 +262,10 @@ namespace VEPROMS.CSLA.Library
|
||||
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
||||
{
|
||||
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,7 +328,9 @@ namespace VEPROMS.CSLA.Library
|
||||
// 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)
|
||||
{
|
||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||
|
||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||
|
||||
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\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Session\ROWorkingDraftAsk.cs" />
|
||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -613,7 +613,15 @@ namespace Volian.Controls.Library
|
||||
_In_DSOTabPanel_Enter = false;
|
||||
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
||||
// B2018-070 Position the text cursor - Activate MS Word Panel
|
||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||
try
|
||||
{
|
||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||
}
|
||||
catch
|
||||
{
|
||||
//B2026-067 - Do nothing if cannot Position cursor
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
#region Public Methods
|
||||
|
||||
@@ -643,16 +643,15 @@ namespace Volian.Controls.Library
|
||||
if (_docVersionInfo != null && fstid != -1 && fstid != MyROFSTLookup.RofstID)
|
||||
{
|
||||
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 = "Cannot check-out Working Draft";
|
||||
FinalProgressBarMessage = "RO Check Paused - Other Users In Set";
|
||||
}
|
||||
else if (!MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
||||
{
|
||||
//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)
|
||||
{
|
||||
@@ -671,10 +670,13 @@ namespace Volian.Controls.Library
|
||||
updatedROs = true;
|
||||
|
||||
askedAboutchangedDocVersion = false;
|
||||
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||
}
|
||||
else
|
||||
{
|
||||
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));
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
@@ -2016,35 +2016,16 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
||||
|
||||
// C2020-009: Search - Allow search 'By Word'.
|
||||
string byWordPrefix = string.Empty;
|
||||
string byWordSuffix = string.Empty;
|
||||
if (cbxByWord.Checked)
|
||||
{
|
||||
// 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 (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]";
|
||||
}
|
||||
byWordPrefix = GetByWordSettings(TextSearchString, true);
|
||||
byWordSuffix = GetByWordSettings(TextSearchString, false);
|
||||
}
|
||||
SearchString = TextSearchString;
|
||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
||||
|
||||
SearchString = TextSearchString;
|
||||
|
||||
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
|
||||
@@ -2078,8 +2059,8 @@ namespace Volian.Controls.Library
|
||||
|
||||
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
|
||||
}
|
||||
else
|
||||
@@ -2189,7 +2170,52 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
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)
|
||||
{
|
||||
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);
|
||||
|
||||
string accpgid = accpageid;
|
||||
|
||||
//B2022 - 083: Support Conditional RO Values
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
//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
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid.Replace(@"\u8209?", "-"), multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
if (roc.value == null)
|
||||
{
|
||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
||||
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
// try again but this time with the unicode dash
|
||||
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
|
||||
|
||||
@@ -1659,14 +1659,14 @@ i = 0;
|
||||
private string ROLookup(string accpageid, string multiid, string deflt, string overrideChild)
|
||||
{
|
||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
||||
|
||||
string accpgid = accpageid;
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
//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("<" + accpageid.Replace(@"\u8209?", "-") + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
if (roc.value == null)
|
||||
{
|
||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
||||
roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
// try again but this time with the unicode dash
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user