VEPROMS_UI / remove BouncyCastle

This commit is contained in:
2026-08-21 06:11:06 -04:00
parent 23a296df86
commit 0c3e4bb3e9
41 changed files with 2298 additions and 4704 deletions
+86 -124
View File
@@ -1,14 +1,9 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
using System.IO;
using Volian.Controls.Library;
using DevComponents.DotNetBar;
using JR.Utils.GUI.Forms;
using System.Linq;
using System.Data;
using xls = Microsoft.Office.Interop.Excel;
@@ -16,52 +11,42 @@ namespace VEPROMS
{
public partial class frmGenTools : Form
{
private SessionInfo _MySessionInfo;
public SessionInfo MySessionInfo
{
get { return _MySessionInfo; }
set { _MySessionInfo = value; }
}
public SessionInfo MySessionInfo { get; set; }
public frmGenTools(SessionInfo sessionInfo, frmVEPROMS veProms)
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping veProms for potential future use")]
public frmGenTools(SessionInfo sessionInfo, frmVEPROMS veProms)
{
InitializeComponent();
_MySessionInfo = sessionInfo;
MySessionInfo = sessionInfo;
// When opening General tools Check tab will be default.
this.sideNavItmCheck.Checked = true;
sideNavItmCheck.Checked = true;
setupProgessSteps1(); // C2017-030 - new Tools user interface
}
private void frmGenTools_Load(object sender, EventArgs e)
{
IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
}
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
private void frmGenTools_FormClosing(object sender, EventArgs e)
{
IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
}
private void frmGenTools_Load(object sender, EventArgs e) => IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
private void frmGenTools_FormClosing(object sender, EventArgs e) => IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
// C2017-030 - new Tools user interface
// tool renamed to Identify Orphan Items
private void IdentifyDisconnectedItems()
// C2017-030 - new Tools user interface
// tool renamed to Identify Orphan Items
private void IdentifyDisconnectedItems()
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Orphan Items");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount");
txtProcess.AppendText(string.Format("Orphan Items Count: {0}", rowCount));
txtProcess.AppendText($"Orphan Items Count: {rowCount}");
txtProcess.AppendText(Environment.NewLine);
if (rowCount > 0)
{
txtResults.AppendText(string.Format("The database contains {0} Orphan items.", rowCount));
txtResults.AppendText($"The database contains {rowCount} Orphan items.");
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText("These can be removed via the Remove Orphan Data Records in the Repair tools");
txtResults.AppendText(Environment.NewLine);
@@ -74,33 +59,33 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
}
// C2017-030 - new Tools user interface
// is one of two tools run from Check Obsolete RO Data
private void IdentifyUnusedRoFstsAndFigures()
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Unused RoFsts and Figures");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount");
int rowCountFigures = ESP_GetUnusedFigures.Execute("vesp_GetUnusedFiguresCount");
txtProcess.AppendText(string.Format("Unused RoFsts Count: {0}, Unused Figures Count: {1}", rowCountRoFst, rowCountFigures));
txtProcess.AppendText($"Unused RoFsts Count: {rowCountRoFst}, Unused Figures Count: {rowCountFigures}");
txtProcess.AppendText(Environment.NewLine);
if (rowCountRoFst > 0 || rowCountFigures > 0)
{
txtResults.AppendText(string.Format("The database contains {0} unused RoFsts.", rowCountRoFst));
txtResults.AppendText($"The database contains {rowCountRoFst} unused RoFsts.");
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(string.Format("The database contains {0} unused Figures items.", rowCountFigures));
txtResults.AppendText($"The database contains {rowCountFigures} unused Figures items.");
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
}
@@ -112,31 +97,31 @@ namespace VEPROMS
}
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
}
// C2017-030 - new Tools user interface
// is one of two tools run from Check Obsolete RO Data
private void IdentifyROAssociations()
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Unused RO Associations");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount");
txtProcess.AppendText(string.Format("Unused RO Associations Count: {0}", rowCount));
txtProcess.AppendText($"Unused RO Associations Count: {rowCount}");
txtProcess.AppendText(Environment.NewLine);
if (rowCount > 0)
{
txtResults.AppendText(string.Format("The database contains {0} unused RO Associations.", rowCount));
txtResults.AppendText($"The database contains {rowCount} unused RO Associations.");
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
}
@@ -147,26 +132,26 @@ namespace VEPROMS
txtResults.AppendText(Environment.NewLine);
}
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
}
// C2017-030 - new Tools user interface
// tool was renamed to Hidden Data Locations (on Check list)
private void IdentifyNonEditableItems()
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Identifing Hidden Item Locations");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
List<ItemInfo> myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems");
txtProcess.AppendText(string.Format("Hidden Items Count: {0}", myItems.Count));
txtProcess.AppendText($"Hidden Items Count: {myItems.Count}");
txtProcess.AppendText(Environment.NewLine);
if (myItems.Count > 0)
{
@@ -190,52 +175,46 @@ namespace VEPROMS
//clear the list since no longer using it
myItems.Clear();
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
}
// C2017-030 - new Tools user interface
// tool was renamed to Show Users
private void GetDatabaseSessions()
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Show Users in PROMS");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
txtResults.Clear();
txtResults.AppendText(ESP_GetDatabaseSessions.Execute("vesp_GetDatabaseSessions"));
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
MessageBox.Show("Show Users Completed", "Show Users");
}
public List<string> roFstInfo_ROTableUpdate(object sender, ROFstInfoROTableUpdateEventArgs args)
{
return VlnFlexGrid.ROTableUpdate(sender, args);
}
private void btnClear_Click(object sender, EventArgs e) => txtResults.Clear();
private void btnClear_Click(object sender, EventArgs e)
private void btnSave_Click(object sender, EventArgs e)
{
txtResults.Clear();
}
private void btnSave_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.DefaultExt = "txt";
sfd.AddExtension = true;
sfd.Filter = "Text Files (*.txt)|*.txt";
sfd.FileName = string.Format("BatchRefreshResults_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm"));
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS";
DialogResult dr = sfd.ShowDialog();
SaveFileDialog sfd = new SaveFileDialog
{
DefaultExt = "txt",
AddExtension = true,
Filter = "Text Files (*.txt)|*.txt",
FileName = $"BatchRefreshResults_{DateTime.Now:yyyyMMdd_HHmm}",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS"
};
DialogResult dr = sfd.ShowDialog();
if (dr == DialogResult.OK)
{
@@ -257,13 +236,10 @@ namespace VEPROMS
}
}
private void chkLater_CheckedChanged(object sender, EventArgs e)
{
pnlLater.Enabled = chkLater.Checked;
}
private void chkLater_CheckedChanged(object sender, EventArgs e) => pnlLater.Enabled = chkLater.Checked;
// C2017-030 new Tools user interface
private void sideNavItmCheck_Click(object sender, EventArgs e)
// C2017-030 new Tools user interface
private void sideNavItmCheck_Click(object sender, EventArgs e)
{
GenToolType = E_GenToolType.Check;
lblAdmToolProgressType.Text = "Checking:";
@@ -284,16 +260,13 @@ namespace VEPROMS
setupProgessSteps1();
}
// C2017-030 new Tools user interface
private void sideNavItmExit_Click(object sender, EventArgs e)
{
this.Close();
}
// C2017-030 new Tools user interface
private void sideNavItmExit_Click(object sender, EventArgs e) => Close();
#region On/Off Swiches
#region On/Off Swiches
// C2017-030 new Tools user interface
private enum E_GenToolType : int
// C2017-030 new Tools user interface
private enum E_GenToolType : int
{
Check = 0,
Users = 3,
@@ -301,9 +274,9 @@ namespace VEPROMS
};
private E_GenToolType GenToolType = 0;
DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data");
DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
readonly DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
readonly DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data");
readonly DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
// this will update/rebuild the progress bar in the bottom panel of Tools
private void setupProgessSteps1()
@@ -332,22 +305,16 @@ namespace VEPROMS
}
}
// used for all of the Switch buttons (ON/OFF buttons)
private void swCk_ValueChanged(object sender, EventArgs e)
{
setupProgessSteps1();
}
// used for all of the Switch buttons (ON/OFF buttons)
private void swCk_ValueChanged(object sender, EventArgs e) => setupProgessSteps1();
#endregion
#endregion
// C2017-030 New Tools user interface
// functions to handle the progress bar in the bottom panel of Tools
private void StepProgress(int prgStpIdx, int val)
{
((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
}
// C2017-030 New Tools user interface
// functions to handle the progress bar in the bottom panel of Tools
private void StepProgress(int prgStpIdx, int val) => ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
private void ClearStepProgress()
private void ClearStepProgress()
{
for (int i = 0; i < progressSteps1.Items.Count; i++)
{
@@ -362,7 +329,7 @@ namespace VEPROMS
{
if (chkLater.Checked)
{
long later = long.Parse(dtpDate.Value.ToString("yyyyMMdd") + dtpTime.Value.ToString("HHmm"));
long later = long.Parse($"{dtpDate.Value:yyyyMMdd}{dtpTime.Value:HHmm}");
long now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
while (now < later)
@@ -435,10 +402,12 @@ namespace VEPROMS
{
if (string.IsNullOrEmpty(UACfilename))
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel XLS (*.xlsx)|*.xlsx";
sfd.FileName = "UACReport.xlsx";
if (sfd.ShowDialog() == DialogResult.OK)
SaveFileDialog sfd = new SaveFileDialog
{
Filter = "Excel XLS (*.xlsx)|*.xlsx",
FileName = "UACReport.xlsx"
};
if (sfd.ShowDialog() == DialogResult.OK)
{
UACfilename = sfd.FileName;
}
@@ -462,11 +431,11 @@ namespace VEPROMS
//Get Datatable of results then loop through outputting into excel
private void Generate_UAC_Report(string filename)
{
this.Cursor = Cursors.WaitCursor;
Cursor = Cursors.WaitCursor;
DateTime pStart = DateTime.Now;
txtProcess.AppendText("Generate User Access Control Report in PROMS");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
txtProcess.AppendText(Environment.NewLine);
Application.DoEvents();
txtResults.Clear();
@@ -525,9 +494,9 @@ namespace VEPROMS
}
DateTime pEnd = DateTime.Now;
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
Application.DoEvents();
this.Cursor = Cursors.Default;
Cursor = Cursors.Default;
MessageBox.Show("Generate User Access Control Report Completed", "User Access Control Report");
}
@@ -544,7 +513,7 @@ namespace VEPROMS
catch (Exception ex)
{
obj = null;
MessageBox.Show("Exception Occurred while releasing object " + ex.ToString());
MessageBox.Show($"Exception Occurred while releasing object {ex}");
}
finally
{
@@ -552,18 +521,11 @@ namespace VEPROMS
}
}
//C2025-011 RO Update Tool Memory Enhancements
private void txtProcess_TextChanged(object sender, EventArgs e)
{
//clears the stack to help with memory - should never need to undo text changes to this.
txtProcess.ClearUndo();
}
private void txtResults_TextChanged(object sender, EventArgs e)
{
//clears the stack to help with memory - should never need to undo text changes to this.
txtResults.ClearUndo();
}
//C2025-011 RO Update Tool Memory Enhancements
//clears the stack to help with memory - should never need to undo text changes to this.
private void txtProcess_TextChanged(object sender, EventArgs e) => txtProcess.ClearUndo();
//clears the stack to help with memory - should never need to undo text changes to this.
private void txtResults_TextChanged(object sender, EventArgs e) => txtResults.ClearUndo();
}
}