From 3a2dd0b0aac6f016dc6f3a8b1985af65583b7ced Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 21 Jul 2026 10:24:46 -0400 Subject: [PATCH] C2026-046 - Decrease check if need to update ROs. --- .../VEPROMS.CSLA.Library/Extension/ROFSTExt.cs | 4 +++- .../Session/ROWorkingDraftAsk.cs | 18 ++++++++++++++++++ .../VEPROMS.CSLA.Library.csproj | 1 + PROMS/Volian.Controls.Library/DisplayRO.cs | 5 ++++- 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 PROMS/VEPROMS.CSLA.Library/Session/ROWorkingDraftAsk.cs diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ROFSTExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ROFSTExt.cs index 0098d346..f2e4ffc2 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ROFSTExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ROFSTExt.cs @@ -326,7 +326,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; diff --git a/PROMS/VEPROMS.CSLA.Library/Session/ROWorkingDraftAsk.cs b/PROMS/VEPROMS.CSLA.Library/Session/ROWorkingDraftAsk.cs new file mode 100644 index 00000000..f78280ac --- /dev/null +++ b/PROMS/VEPROMS.CSLA.Library/Session/ROWorkingDraftAsk.cs @@ -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 WorkingDrafts = new List(); + + public static void AddWorkingDrafts(int wd) => WorkingDrafts.Add(wd); + + public static void ClearWorkingDrafts() => WorkingDrafts.Clear(); + + public static bool ContainsWorkingDraft(int wd) => WorkingDrafts.Contains(wd); + + } +} diff --git a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj index 1b9a09b2..db431669 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj +++ b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj @@ -396,6 +396,7 @@ + diff --git a/PROMS/Volian.Controls.Library/DisplayRO.cs b/PROMS/Volian.Controls.Library/DisplayRO.cs index 7c271a05..86ff26cb 100644 --- a/PROMS/Volian.Controls.Library/DisplayRO.cs +++ b/PROMS/Volian.Controls.Library/DisplayRO.cs @@ -652,7 +652,7 @@ namespace Volian.Controls.Library { //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 +671,13 @@ namespace Volian.Controls.Library updatedROs = true; askedAboutchangedDocVersion = false; + ROWorkingDraftAsk.ClearWorkingDrafts(); } else { askedAboutchangedDocVersion = true; + if (!ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID)) + ROWorkingDraftAsk.AddWorkingDrafts(_docVersionInfo.VersionID); } }