C2021-058 Admin Tool Purge Change History/C2025-052 Admin Tool Index Maintenance #614

Merged
jjenko merged 1 commits from C2021-058_C2025-052 into Development 2025-09-16 10:51:56 -04:00
6 changed files with 801 additions and 301 deletions

View File

@@ -24264,6 +24264,129 @@ BEGIN
RETURN RETURN
END END
IF (@@Error = 0) PRINT 'Procedure Creation: [getUserAcessControl] Succeeded'
ELSE PRINT 'Procedure Creation: [getUserAcessControl] Error on Creation'
GO
-- C2021-058 Admin Tool Purge Change History / C2025-052 Admin Tool Index Maintenance
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_PurgeChangeHistory]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [vesp_PurgeChangeHistory];
GO
/****** Object: StoredProcedure [dbo].[vesp_PurgeChangeHistory] Script Date: 9/9/2025 6:51:42 AM ******/
-- =============================================
-- Author: Matthew Schill
-- Create date: 09/09/2025
-- Description: Admin Tool Purge Change History. Add the ability to remove audit records from Admin Tools.
-- =============================================
CREATE PROCEDURE [dbo].[vesp_PurgeChangeHistory]
(
@dte AS datetime
)
AS
BEGIN
Delete from Versions where DTS < @dte
Delete from DocumentAudits where DTS < @dte
delete from Figures where ROFSTID not in(select rofstid from Associations) and DTS < @dte
Delete from ROFSTs where ROFSTID not in(select rofstid from Associations) and DTS < @dte
delete from roimages where rodbid not in(select rodbid from rofsts) and DTS < @dte
delete from documents where docid not in(select docid from entries) and DTS < @dte
PRINT 'Phase 1'
delete from tblAnnotations where deletestatus != 0 and DTS < @dte
delete from drousages where docid in(select docid from tbldocuments where deletestatus != 0) and DTS < @dte
delete from tblEntries where deletestatus != 0 and DTS < @dte
delete from tblDocuments where deletestatus != 0 and DTS < @dte
delete from tblGrids where deletestatus != 0 and DTS < @dte
delete from tblImages where deletestatus != 0 and DTS < @dte
PRINT 'Phase 2'
delete from tblROUsages where deletestatus != 0 and DTS < @dte
delete from tblTransitions where deletestatus != 0 and DTS < @dte
delete from tblParts where deletestatus != 0 and DTS < @dte
delete from tblItems where deletestatus != 0 and ItemID Not IN (Select ItemID from Parts) and DTS < @dte
PRINT 'Purge Contents'
delete from tblContents where deletestatus != 0 and DTS < @dte
PRINT 'Phase 3'
delete from AnnotationAudits where DTS < @dte
delete from ContentAudits where DTS < @dte
delete from EntryAudits where DTS < @dte
delete from DocumentAudits where DTS < @dte
delete from GridAudits where DTS < @dte
delete from ImageAudits where DTS < @dte
PRINT 'Phase 4'
delete from ItemAudits where DTS < @dte
delete from PartAudits where DTS < @dte
delete from ROUsageAudits where DTS < @dte
delete from TransitionAudits where DTS < @dte
RETURN
END
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_PurgeChangeHistory] Succeeded'
ELSE PRINT 'Procedure Creation: [vesp_PurgeChangeHistory] Error on Creation'
GO
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_IndexMaintenance]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [vesp_IndexMaintenance];
GO
/****** Object: StoredProcedure [dbo].[vesp_IndexMaintenance] Script Date: 9/9/2025 7:54:42 AM ******/
-- =============================================
-- Author: Matthew Schill
-- Create date: 09/09/2025
-- Description: Rebuild all indexes in the db
-- =============================================
CREATE PROCEDURE [dbo].[vesp_IndexMaintenance]
With Execute as Owner
AS
BEGIN
Exec sp_msforeachtable 'SET QUOTED_IDENTIFIER ON; ALTER INDEX ALL ON ? REBUILD'
RETURN
END
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_IndexMaintenance] Succeeded'
ELSE PRINT 'Procedure Creation: [vesp_IndexMaintenance] Error on Creation'
GO
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_GetOtherActiveSessions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [vesp_GetOtherActiveSessions];
GO
/****** Object: StoredProcedure [dbo].[vesp_GetOtherActiveSessions] Script Date: 9/10/2025 7:54:42 AM ******/
-- =============================================
-- Author: Matthew Schill
-- Create date: 09/10/2025
-- Description: Get active sessions by users other than the current user
-- =============================================
CREATE PROCEDURE [dbo].[vesp_GetOtherActiveSessions]
(
@UsrID AS varchar(100)
)
AS
BEGIN
SELECT
[UserID],
[DTSDtart],
[MachineName]
FROM [Sessions]
WHERE DTSEnd IS NULL AND UserID != @UsrID
RETURN
END
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_GetOtherActiveSessions] Succeeded'
ELSE PRINT 'Procedure Creation: [vesp_GetOtherActiveSessions] Error on Creation'
GO
/* /*
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
| ADD New Code Before this Block | | ADD New Code Before this Block |
@@ -24297,8 +24420,8 @@ BEGIN TRY -- Try Block
DECLARE @RevDate varchar(255) DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255) DECLARE @RevDescription varchar(255)
set @RevDate = '09/05/2025 7:00 AM' set @RevDate = '09/16/2025 7:00 AM'
set @RevDescription = 'Added stored procedure for User Access Control Report' set @RevDescription = 'Added Purge Change History and Index Maintenance functions to Admin Tools'
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

View File

@@ -52,24 +52,6 @@
this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter(); this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav(); this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swDeleteFolder = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX13 = new DevComponents.DotNetBar.LabelX();
this.swDeleteAnnotations = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX14 = new DevComponents.DotNetBar.LabelX();
this.myTVdel = new System.Windows.Forms.TreeView();
this.btnDeleteItems = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX12 = new DevComponents.DotNetBar.LabelX();
this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
this.line3 = new DevComponents.DotNetBar.Controls.Line();
this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX11 = new DevComponents.DotNetBar.LabelX();
this.labelX6 = new DevComponents.DotNetBar.LabelX();
this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel(); this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton(); this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton();
this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX(); this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX();
@@ -86,10 +68,36 @@
this.labelX8 = new DevComponents.DotNetBar.LabelX(); this.labelX8 = new DevComponents.DotNetBar.LabelX();
this.line2 = new DevComponents.DotNetBar.Controls.Line(); this.line2 = new DevComponents.DotNetBar.Controls.Line();
this.btnRunRepair = new DevComponents.DotNetBar.ButtonX(); this.btnRunRepair = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swDeleteFolder = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX13 = new DevComponents.DotNetBar.LabelX();
this.swDeleteAnnotations = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX14 = new DevComponents.DotNetBar.LabelX();
this.myTVdel = new System.Windows.Forms.TreeView();
this.btnDeleteItems = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.btnIndexMaint = new DevComponents.DotNetBar.ButtonX();
this.itemPanel1 = new DevComponents.DotNetBar.PanelEx();
this.btnPurgeChange = new DevComponents.DotNetBar.ButtonX();
this.dtePurge = new System.Windows.Forms.DateTimePicker();
this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
this.warningBox6 = new DevComponents.DotNetBar.Controls.WarningBox();
this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX12 = new DevComponents.DotNetBar.LabelX();
this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
this.line3 = new DevComponents.DotNetBar.Controls.Line();
this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX11 = new DevComponents.DotNetBar.LabelX();
this.labelX6 = new DevComponents.DotNetBar.LabelX();
this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem();
this.separator1 = new DevComponents.DotNetBar.Separator(); this.separator1 = new DevComponents.DotNetBar.Separator();
this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmMaint = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmDelete = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmDelete = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem();
this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
@@ -112,9 +120,11 @@
this.pnlLater.SuspendLayout(); this.pnlLater.SuspendLayout();
this.panelEx1.SuspendLayout(); this.panelEx1.SuspendLayout();
this.sideNav1.SuspendLayout(); this.sideNav1.SuspendLayout();
this.sideNavPanel4.SuspendLayout();
this.sideNavPanel3.SuspendLayout();
this.sideNavPanel2.SuspendLayout(); this.sideNavPanel2.SuspendLayout();
this.sideNavPanel4.SuspendLayout();
this.sideNavPanel5.SuspendLayout();
this.itemPanel1.SuspendLayout();
this.sideNavPanel3.SuspendLayout();
this.panelEx4.SuspendLayout(); this.panelEx4.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@@ -124,7 +134,7 @@
this.myTV.Dock = System.Windows.Forms.DockStyle.Bottom; this.myTV.Dock = System.Windows.Forms.DockStyle.Bottom;
this.myTV.Location = new System.Drawing.Point(0, 230); this.myTV.Location = new System.Drawing.Point(0, 230);
this.myTV.Name = "myTV"; this.myTV.Name = "myTV";
this.myTV.Size = new System.Drawing.Size(291, 310); this.myTV.Size = new System.Drawing.Size(268, 310);
this.myTV.TabIndex = 4; this.myTV.TabIndex = 4;
this.myTV.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck); this.myTV.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
// //
@@ -451,6 +461,7 @@
// //
this.sideNav1.BackColor = System.Drawing.SystemColors.Control; this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
this.sideNav1.Controls.Add(this.sideNavPanel2); this.sideNav1.Controls.Add(this.sideNavPanel2);
this.sideNav1.Controls.Add(this.sideNavPanel5);
this.sideNav1.Controls.Add(this.sideNavPanel4); this.sideNav1.Controls.Add(this.sideNavPanel4);
this.sideNav1.Controls.Add(this.sideNavPanel3); this.sideNav1.Controls.Add(this.sideNavPanel3);
this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill; this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -461,6 +472,7 @@
this.separator1, this.separator1,
this.sideNavItmRepair, this.sideNavItmRepair,
this.sideNavItmLinks, this.sideNavItmLinks,
this.sideNavItmMaint,
this.sideNavItmDelete, this.sideNavItmDelete,
this.sideNavItmExit}); this.sideNavItmExit});
this.sideNav1.Location = new System.Drawing.Point(0, 0); this.sideNav1.Location = new System.Drawing.Point(0, 0);
@@ -470,275 +482,6 @@
this.sideNav1.TabIndex = 3; this.sideNav1.TabIndex = 3;
this.sideNav1.Text = "sideNav1"; this.sideNav1.Text = "sideNav1";
// //
// sideNavPanel4
//
this.sideNavPanel4.Controls.Add(this.swDeleteFolder);
this.sideNavPanel4.Controls.Add(this.labelX13);
this.sideNavPanel4.Controls.Add(this.swDeleteAnnotations);
this.sideNavPanel4.Controls.Add(this.labelX14);
this.sideNavPanel4.Controls.Add(this.myTVdel);
this.sideNavPanel4.Controls.Add(this.btnDeleteItems);
this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel4.Location = new System.Drawing.Point(81, 31);
this.sideNavPanel4.MinimumSize = new System.Drawing.Size(0, 493);
this.sideNavPanel4.Name = "sideNavPanel4";
this.sideNavPanel4.Size = new System.Drawing.Size(299, 493);
this.sideNavPanel4.TabIndex = 27;
this.sideNavPanel4.Visible = false;
//
// swDeleteFolder
//
//
//
//
this.swDeleteFolder.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteFolder.Location = new System.Drawing.Point(10, 43);
this.swDeleteFolder.Name = "swDeleteFolder";
this.swDeleteFolder.Size = new System.Drawing.Size(69, 22);
this.swDeleteFolder.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteFolder, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("swDeleteFolder.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
this.swDeleteFolder.SwitchClickTogglesValue = true;
this.swDeleteFolder.TabIndex = 39;
this.swDeleteFolder.ValueChanged += new System.EventHandler(this.swDeleteFolder_ValueChanged);
//
// labelX13
//
this.labelX13.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX13.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX13.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX13.Location = new System.Drawing.Point(85, 42);
this.labelX13.Name = "labelX13";
this.labelX13.Size = new System.Drawing.Size(168, 22);
this.superTooltip1.SetSuperTooltip(this.labelX13, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("labelX13.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
this.labelX13.TabIndex = 38;
this.labelX13.Text = "Delete Folders";
//
// swDeleteAnnotations
//
//
//
//
this.swDeleteAnnotations.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteAnnotations.Location = new System.Drawing.Point(10, 15);
this.swDeleteAnnotations.Name = "swDeleteAnnotations";
this.swDeleteAnnotations.Size = new System.Drawing.Size(69, 22);
this.swDeleteAnnotations.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteAnnotations, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("swDeleteAnnotations.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
this.swDeleteAnnotations.SwitchClickTogglesValue = true;
this.swDeleteAnnotations.TabIndex = 37;
this.swDeleteAnnotations.Value = true;
this.swDeleteAnnotations.ValueObject = "Y";
this.swDeleteAnnotations.ValueChanged += new System.EventHandler(this.swDeleteAnnotations_ValueChanged);
//
// labelX14
//
this.labelX14.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX14.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX14.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX14.Location = new System.Drawing.Point(85, 14);
this.labelX14.Name = "labelX14";
this.labelX14.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX14, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("labelX14.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
this.labelX14.TabIndex = 36;
this.labelX14.Text = "Delete Annotations";
//
// myTVdel
//
this.myTVdel.CheckBoxes = true;
this.myTVdel.Dock = System.Windows.Forms.DockStyle.Bottom;
this.myTVdel.Location = new System.Drawing.Point(0, 126);
this.myTVdel.Name = "myTVdel";
this.myTVdel.Size = new System.Drawing.Size(299, 367);
this.myTVdel.TabIndex = 34;
this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
//
// btnDeleteItems
//
this.btnDeleteItems.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnDeleteItems.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.btnDeleteItems.Checked = true;
this.btnDeleteItems.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnDeleteItems.Location = new System.Drawing.Point(39, 98);
this.btnDeleteItems.Name = "btnDeleteItems";
this.btnDeleteItems.Size = new System.Drawing.Size(220, 23);
this.btnDeleteItems.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnDeleteItems, new DevComponents.DotNetBar.SuperTooltipInfo("Process Deletions", "", resources.GetString("btnDeleteItems.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 175)));
this.btnDeleteItems.TabIndex = 35;
this.btnDeleteItems.Text = "Process Deletions";
this.btnDeleteItems.Click += new System.EventHandler(this.btnDeleteItems_Click);
//
// sideNavPanel3
//
this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
this.sideNavPanel3.Controls.Add(this.labelX12);
this.sideNavPanel3.Controls.Add(this.warningBox5);
this.sideNavPanel3.Controls.Add(this.line3);
this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
this.sideNavPanel3.Controls.Add(this.labelX11);
this.sideNavPanel3.Controls.Add(this.labelX6);
this.sideNavPanel3.Controls.Add(this.warningBox1);
this.sideNavPanel3.Controls.Add(this.myTV);
this.sideNavPanel3.Controls.Add(this.btnFixLinks);
this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel3.Location = new System.Drawing.Point(89, 31);
this.sideNavPanel3.MinimumSize = new System.Drawing.Size(0, 540);
this.sideNavPanel3.Name = "sideNavPanel3";
this.sideNavPanel3.Size = new System.Drawing.Size(291, 540);
this.sideNavPanel3.TabIndex = 10;
this.sideNavPanel3.Visible = false;
//
// swCheckROLinks
//
//
//
//
this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swCheckROLinks.Location = new System.Drawing.Point(10, 66);
this.swCheckROLinks.Name = "swCheckROLinks";
this.swCheckROLinks.Size = new System.Drawing.Size(91, 22);
this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swCheckROLinks.SwitchClickTogglesValue = true;
this.swCheckROLinks.TabIndex = 33;
this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
//
// labelX12
//
this.labelX12.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX12.Location = new System.Drawing.Point(107, 66);
this.labelX12.Name = "labelX12";
this.labelX12.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
this.labelX12.TabIndex = 32;
this.labelX12.Text = "Check RO Links";
//
// warningBox5
//
this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox5.CloseButtonVisible = false;
this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
this.warningBox5.Location = new System.Drawing.Point(17, 145);
this.warningBox5.Margin = new System.Windows.Forms.Padding(4);
this.warningBox5.Name = "warningBox5";
this.warningBox5.OptionsButtonVisible = false;
this.warningBox5.Size = new System.Drawing.Size(262, 32);
this.warningBox5.TabIndex = 31;
this.warningBox5.Text = "<b>NOTE</b> These tools can take a long time to run";
//
// line3
//
this.line3.BackColor = System.Drawing.Color.Transparent;
this.line3.Location = new System.Drawing.Point(6, 127);
this.line3.Name = "line3";
this.line3.Size = new System.Drawing.Size(285, 12);
this.line3.TabIndex = 30;
this.line3.Text = "line3";
//
// swUpdateROVals
//
//
//
//
this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swUpdateROVals.Location = new System.Drawing.Point(10, 10);
this.swUpdateROVals.Name = "swUpdateROVals";
this.swUpdateROVals.Size = new System.Drawing.Size(91, 22);
this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swUpdateROVals.SwitchClickTogglesValue = true;
this.swUpdateROVals.TabIndex = 29;
this.swUpdateROVals.Value = true;
this.swUpdateROVals.ValueObject = "Y";
this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
//
// swRefreshTrans
//
//
//
//
this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swRefreshTrans.Location = new System.Drawing.Point(10, 38);
this.swRefreshTrans.Name = "swRefreshTrans";
this.swRefreshTrans.Size = new System.Drawing.Size(91, 22);
this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
this.swRefreshTrans.SwitchClickTogglesValue = true;
this.swRefreshTrans.TabIndex = 29;
this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
//
// labelX11
//
this.labelX11.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX11.Location = new System.Drawing.Point(107, 10);
this.labelX11.Name = "labelX11";
this.labelX11.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.labelX11.TabIndex = 28;
this.labelX11.Text = "Update RO Values";
//
// labelX6
//
this.labelX6.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX6.Location = new System.Drawing.Point(107, 38);
this.labelX6.Name = "labelX6";
this.labelX6.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
this.labelX6.TabIndex = 28;
this.labelX6.Text = "Refresh Transitions";
//
// warningBox1
//
this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox1.CloseButtonVisible = false;
this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
this.warningBox1.Location = new System.Drawing.Point(17, 181);
this.warningBox1.Margin = new System.Windows.Forms.Padding(4);
this.warningBox1.Name = "warningBox1";
this.warningBox1.OptionsButtonVisible = false;
this.warningBox1.Size = new System.Drawing.Size(262, 43);
this.warningBox1.TabIndex = 7;
this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
// btnFixLinks
//
this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFixLinks.Checked = true;
this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFixLinks.Location = new System.Drawing.Point(10, 98);
this.btnFixLinks.Name = "btnFixLinks";
this.btnFixLinks.Size = new System.Drawing.Size(280, 23);
this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
"/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
" be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
this.btnFixLinks.TabIndex = 6;
this.btnFixLinks.Text = "Process Links";
this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
//
// sideNavPanel2 // sideNavPanel2
// //
this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch); this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch);
@@ -757,9 +500,9 @@
this.sideNavPanel2.Controls.Add(this.line2); this.sideNavPanel2.Controls.Add(this.line2);
this.sideNavPanel2.Controls.Add(this.btnRunRepair); this.sideNavPanel2.Controls.Add(this.btnRunRepair);
this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel2.Location = new System.Drawing.Point(81, 31); this.sideNavPanel2.Location = new System.Drawing.Point(112, 31);
this.sideNavPanel2.Name = "sideNavPanel2"; this.sideNavPanel2.Name = "sideNavPanel2";
this.sideNavPanel2.Size = new System.Drawing.Size(299, 493); this.sideNavPanel2.Size = new System.Drawing.Size(268, 493);
this.sideNavPanel2.TabIndex = 6; this.sideNavPanel2.TabIndex = 6;
// //
// swRefreshTblsForSrch // swRefreshTblsForSrch
@@ -988,6 +731,364 @@
this.btnRunRepair.Text = "Run Repair"; this.btnRunRepair.Text = "Run Repair";
this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click); this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click);
// //
// sideNavPanel4
//
this.sideNavPanel4.Controls.Add(this.swDeleteFolder);
this.sideNavPanel4.Controls.Add(this.labelX13);
this.sideNavPanel4.Controls.Add(this.swDeleteAnnotations);
this.sideNavPanel4.Controls.Add(this.labelX14);
this.sideNavPanel4.Controls.Add(this.myTVdel);
this.sideNavPanel4.Controls.Add(this.btnDeleteItems);
this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel4.Location = new System.Drawing.Point(112, 31);
this.sideNavPanel4.MinimumSize = new System.Drawing.Size(0, 493);
this.sideNavPanel4.Name = "sideNavPanel4";
this.sideNavPanel4.Size = new System.Drawing.Size(268, 493);
this.sideNavPanel4.TabIndex = 27;
this.sideNavPanel4.Visible = false;
//
// swDeleteFolder
//
//
//
//
this.swDeleteFolder.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteFolder.Location = new System.Drawing.Point(10, 43);
this.swDeleteFolder.Name = "swDeleteFolder";
this.swDeleteFolder.Size = new System.Drawing.Size(69, 22);
this.swDeleteFolder.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteFolder, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("swDeleteFolder.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
this.swDeleteFolder.SwitchClickTogglesValue = true;
this.swDeleteFolder.TabIndex = 39;
this.swDeleteFolder.ValueChanged += new System.EventHandler(this.swDeleteFolder_ValueChanged);
//
// labelX13
//
this.labelX13.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX13.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX13.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX13.Location = new System.Drawing.Point(85, 42);
this.labelX13.Name = "labelX13";
this.labelX13.Size = new System.Drawing.Size(168, 22);
this.superTooltip1.SetSuperTooltip(this.labelX13, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Folders", "", resources.GetString("labelX13.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 140)));
this.labelX13.TabIndex = 38;
this.labelX13.Text = "Delete Folders";
//
// swDeleteAnnotations
//
//
//
//
this.swDeleteAnnotations.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteAnnotations.Location = new System.Drawing.Point(10, 15);
this.swDeleteAnnotations.Name = "swDeleteAnnotations";
this.swDeleteAnnotations.Size = new System.Drawing.Size(69, 22);
this.swDeleteAnnotations.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteAnnotations, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("swDeleteAnnotations.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
this.swDeleteAnnotations.SwitchClickTogglesValue = true;
this.swDeleteAnnotations.TabIndex = 37;
this.swDeleteAnnotations.Value = true;
this.swDeleteAnnotations.ValueObject = "Y";
this.swDeleteAnnotations.ValueChanged += new System.EventHandler(this.swDeleteAnnotations_ValueChanged);
//
// labelX14
//
this.labelX14.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX14.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX14.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX14.Location = new System.Drawing.Point(85, 14);
this.labelX14.Name = "labelX14";
this.labelX14.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX14, new DevComponents.DotNetBar.SuperTooltipInfo("Delete Annotations", "", resources.GetString("labelX14.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 155)));
this.labelX14.TabIndex = 36;
this.labelX14.Text = "Delete Annotations";
//
// myTVdel
//
this.myTVdel.CheckBoxes = true;
this.myTVdel.Dock = System.Windows.Forms.DockStyle.Bottom;
this.myTVdel.Location = new System.Drawing.Point(0, 126);
this.myTVdel.Name = "myTVdel";
this.myTVdel.Size = new System.Drawing.Size(268, 367);
this.myTVdel.TabIndex = 34;
this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
//
// btnDeleteItems
//
this.btnDeleteItems.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnDeleteItems.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.btnDeleteItems.Checked = true;
this.btnDeleteItems.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnDeleteItems.Location = new System.Drawing.Point(39, 98);
this.btnDeleteItems.Name = "btnDeleteItems";
this.btnDeleteItems.Size = new System.Drawing.Size(189, 23);
this.btnDeleteItems.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnDeleteItems, new DevComponents.DotNetBar.SuperTooltipInfo("Process Deletions", "", resources.GetString("btnDeleteItems.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 175)));
this.btnDeleteItems.TabIndex = 35;
this.btnDeleteItems.Text = "Process Deletions";
this.btnDeleteItems.Click += new System.EventHandler(this.btnDeleteItems_Click);
//
// sideNavPanel5
//
this.sideNavPanel5.Controls.Add(this.btnIndexMaint);
this.sideNavPanel5.Controls.Add(this.itemPanel1);
this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel5.Location = new System.Drawing.Point(112, 31);
this.sideNavPanel5.MinimumSize = new System.Drawing.Size(0, 493);
this.sideNavPanel5.Name = "sideNavPanel5";
this.sideNavPanel5.Size = new System.Drawing.Size(268, 493);
this.sideNavPanel5.TabIndex = 26;
this.sideNavPanel5.Visible = false;
//
// btnIndexMaint
//
this.btnIndexMaint.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnIndexMaint.Checked = true;
this.btnIndexMaint.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnIndexMaint.Location = new System.Drawing.Point(20, 152);
this.btnIndexMaint.Name = "btnIndexMaint";
this.btnIndexMaint.Size = new System.Drawing.Size(227, 23);
this.btnIndexMaint.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnIndexMaint.TabIndex = 4;
this.btnIndexMaint.Text = "Perform Index Maintenance";
this.btnIndexMaint.Tooltip = resources.GetString("btnIndexMaint.Tooltip");
this.btnIndexMaint.Click += new System.EventHandler(this.btnIndexMaint_Click);
//
// itemPanel1
//
this.itemPanel1.Controls.Add(this.btnPurgeChange);
this.itemPanel1.Controls.Add(this.dtePurge);
this.itemPanel1.Controls.Add(this.warningBox3);
this.itemPanel1.Controls.Add(this.warningBox6);
this.itemPanel1.DisabledBackColor = System.Drawing.Color.Empty;
this.itemPanel1.Location = new System.Drawing.Point(0, -2);
this.itemPanel1.Name = "itemPanel1";
this.itemPanel1.Size = new System.Drawing.Size(267, 148);
this.itemPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.DoubleLine;
this.itemPanel1.Style.BorderColor.Color = System.Drawing.Color.DarkGray;
this.itemPanel1.TabIndex = 0;
//
// btnPurgeChange
//
this.btnPurgeChange.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnPurgeChange.Checked = true;
this.btnPurgeChange.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnPurgeChange.Location = new System.Drawing.Point(18, 32);
this.btnPurgeChange.Name = "btnPurgeChange";
this.btnPurgeChange.Size = new System.Drawing.Size(227, 23);
this.btnPurgeChange.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnPurgeChange.TabIndex = 1;
this.btnPurgeChange.Text = "Purge Change History";
this.btnPurgeChange.Tooltip = resources.GetString("btnPurgeChange.Tooltip");
this.btnPurgeChange.Click += new System.EventHandler(this.btnPurgeChange_Click);
//
// dtePurge
//
this.dtePurge.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dtePurge.Location = new System.Drawing.Point(92, 7);
this.dtePurge.Name = "dtePurge";
this.dtePurge.Size = new System.Drawing.Size(87, 20);
this.dtePurge.TabIndex = 0;
//
// warningBox3
//
this.warningBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox3.CloseButtonVisible = false;
this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image")));
this.warningBox3.Location = new System.Drawing.Point(1, 61);
this.warningBox3.Margin = new System.Windows.Forms.Padding(4);
this.warningBox3.Name = "warningBox3";
this.warningBox3.OptionsButtonVisible = false;
this.warningBox3.Size = new System.Drawing.Size(264, 32);
this.warningBox3.TabIndex = 32;
this.warningBox3.Text = "<b>NOTE</b> These tools can take a long time to run";
//
// warningBox6
//
this.warningBox6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox6.CloseButtonVisible = false;
this.warningBox6.Image = ((System.Drawing.Image)(resources.GetObject("warningBox6.Image")));
this.warningBox6.Location = new System.Drawing.Point(1, 97);
this.warningBox6.Margin = new System.Windows.Forms.Padding(4);
this.warningBox6.Name = "warningBox6";
this.warningBox6.OptionsButtonVisible = false;
this.warningBox6.Size = new System.Drawing.Size(264, 43);
this.warningBox6.TabIndex = 31;
this.warningBox6.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
// sideNavPanel3
//
this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
this.sideNavPanel3.Controls.Add(this.labelX12);
this.sideNavPanel3.Controls.Add(this.warningBox5);
this.sideNavPanel3.Controls.Add(this.line3);
this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
this.sideNavPanel3.Controls.Add(this.labelX11);
this.sideNavPanel3.Controls.Add(this.labelX6);
this.sideNavPanel3.Controls.Add(this.warningBox1);
this.sideNavPanel3.Controls.Add(this.myTV);
this.sideNavPanel3.Controls.Add(this.btnFixLinks);
this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel3.Location = new System.Drawing.Point(112, 31);
this.sideNavPanel3.MinimumSize = new System.Drawing.Size(0, 540);
this.sideNavPanel3.Name = "sideNavPanel3";
this.sideNavPanel3.Size = new System.Drawing.Size(268, 540);
this.sideNavPanel3.TabIndex = 10;
this.sideNavPanel3.Visible = false;
//
// swCheckROLinks
//
//
//
//
this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swCheckROLinks.Location = new System.Drawing.Point(10, 66);
this.swCheckROLinks.Name = "swCheckROLinks";
this.swCheckROLinks.Size = new System.Drawing.Size(91, 22);
this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swCheckROLinks.SwitchClickTogglesValue = true;
this.swCheckROLinks.TabIndex = 33;
this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
//
// labelX12
//
this.labelX12.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX12.Location = new System.Drawing.Point(107, 66);
this.labelX12.Name = "labelX12";
this.labelX12.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
this.labelX12.TabIndex = 32;
this.labelX12.Text = "Check RO Links";
//
// warningBox5
//
this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox5.CloseButtonVisible = false;
this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
this.warningBox5.Location = new System.Drawing.Point(17, 145);
this.warningBox5.Margin = new System.Windows.Forms.Padding(4);
this.warningBox5.Name = "warningBox5";
this.warningBox5.OptionsButtonVisible = false;
this.warningBox5.Size = new System.Drawing.Size(262, 32);
this.warningBox5.TabIndex = 31;
this.warningBox5.Text = "<b>NOTE</b> These tools can take a long time to run";
//
// line3
//
this.line3.BackColor = System.Drawing.Color.Transparent;
this.line3.Location = new System.Drawing.Point(6, 127);
this.line3.Name = "line3";
this.line3.Size = new System.Drawing.Size(285, 12);
this.line3.TabIndex = 30;
this.line3.Text = "line3";
//
// swUpdateROVals
//
//
//
//
this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swUpdateROVals.Location = new System.Drawing.Point(10, 10);
this.swUpdateROVals.Name = "swUpdateROVals";
this.swUpdateROVals.Size = new System.Drawing.Size(91, 22);
this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swUpdateROVals.SwitchClickTogglesValue = true;
this.swUpdateROVals.TabIndex = 29;
this.swUpdateROVals.Value = true;
this.swUpdateROVals.ValueObject = "Y";
this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
//
// swRefreshTrans
//
//
//
//
this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swRefreshTrans.Location = new System.Drawing.Point(10, 38);
this.swRefreshTrans.Name = "swRefreshTrans";
this.swRefreshTrans.Size = new System.Drawing.Size(91, 22);
this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
this.swRefreshTrans.SwitchClickTogglesValue = true;
this.swRefreshTrans.TabIndex = 29;
this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
//
// labelX11
//
this.labelX11.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX11.Location = new System.Drawing.Point(107, 10);
this.labelX11.Name = "labelX11";
this.labelX11.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.labelX11.TabIndex = 28;
this.labelX11.Text = "Update RO Values";
//
// labelX6
//
this.labelX6.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX6.Location = new System.Drawing.Point(107, 38);
this.labelX6.Name = "labelX6";
this.labelX6.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
this.labelX6.TabIndex = 28;
this.labelX6.Text = "Refresh Transitions";
//
// warningBox1
//
this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox1.CloseButtonVisible = false;
this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
this.warningBox1.Location = new System.Drawing.Point(17, 181);
this.warningBox1.Margin = new System.Windows.Forms.Padding(4);
this.warningBox1.Name = "warningBox1";
this.warningBox1.OptionsButtonVisible = false;
this.warningBox1.Size = new System.Drawing.Size(262, 43);
this.warningBox1.TabIndex = 7;
this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
// btnFixLinks
//
this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFixLinks.Checked = true;
this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFixLinks.Location = new System.Drawing.Point(10, 98);
this.btnFixLinks.Name = "btnFixLinks";
this.btnFixLinks.Size = new System.Drawing.Size(280, 23);
this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
"/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
" be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
this.btnFixLinks.TabIndex = 6;
this.btnFixLinks.Text = "Process Links";
this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
//
// sideNavItem1 // sideNavItem1
// //
this.sideNavItem1.IsSystemMenu = true; this.sideNavItem1.IsSystemMenu = true;
@@ -1022,6 +1123,15 @@
this.sideNavItmLinks.Text = "Links"; this.sideNavItmLinks.Text = "Links";
this.sideNavItmLinks.Click += new System.EventHandler(this.sideNavItmLinks_Click); this.sideNavItmLinks.Click += new System.EventHandler(this.sideNavItmLinks_Click);
// //
// sideNavItmMaint
//
this.sideNavItmMaint.Name = "sideNavItmMaint";
this.sideNavItmMaint.Panel = this.sideNavPanel5;
this.sideNavItmMaint.Symbol = "58154";
this.sideNavItmMaint.SymbolSet = DevComponents.DotNetBar.eSymbolSet.Material;
this.sideNavItmMaint.Text = "Maintenance";
this.sideNavItmMaint.Click += new System.EventHandler(this.sideNavItmMaint_Click);
//
// sideNavItmDelete // sideNavItmDelete
// //
this.sideNavItmDelete.Name = "sideNavItmDelete"; this.sideNavItmDelete.Name = "sideNavItmDelete";
@@ -1161,9 +1271,11 @@
this.panelEx1.ResumeLayout(false); this.panelEx1.ResumeLayout(false);
this.sideNav1.ResumeLayout(false); this.sideNav1.ResumeLayout(false);
this.sideNav1.PerformLayout(); this.sideNav1.PerformLayout();
this.sideNavPanel4.ResumeLayout(false);
this.sideNavPanel3.ResumeLayout(false);
this.sideNavPanel2.ResumeLayout(false); this.sideNavPanel2.ResumeLayout(false);
this.sideNavPanel4.ResumeLayout(false);
this.sideNavPanel5.ResumeLayout(false);
this.itemPanel1.ResumeLayout(false);
this.sideNavPanel3.ResumeLayout(false);
this.panelEx4.ResumeLayout(false); this.panelEx4.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
@@ -1209,7 +1321,8 @@
private DevComponents.DotNetBar.Separator separator1; private DevComponents.DotNetBar.Separator separator1;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmRepair; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmRepair;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmLinks; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmLinks;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmMaint;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit;
private DevComponents.DotNetBar.LabelX lblAdmToolProgressType; private DevComponents.DotNetBar.LabelX lblAdmToolProgressType;
private DevComponents.DotNetBar.ProgressSteps progressSteps1; private DevComponents.DotNetBar.ProgressSteps progressSteps1;
private DevComponents.DotNetBar.StepItem stepItem1; private DevComponents.DotNetBar.StepItem stepItem1;
@@ -1236,14 +1349,21 @@
private DevComponents.DotNetBar.LabelX labelX12; private DevComponents.DotNetBar.LabelX labelX12;
private DevComponents.DotNetBar.ButtonItem buttonItem1; private DevComponents.DotNetBar.ButtonItem buttonItem1;
private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4; private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4;
private DevComponents.DotNetBar.Controls.SwitchButton swDeleteFolder; private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5;
private DevComponents.DotNetBar.Controls.SwitchButton swDeleteFolder;
private DevComponents.DotNetBar.LabelX labelX13; private DevComponents.DotNetBar.LabelX labelX13;
private DevComponents.DotNetBar.Controls.SwitchButton swDeleteAnnotations; private DevComponents.DotNetBar.Controls.SwitchButton swDeleteAnnotations;
private DevComponents.DotNetBar.LabelX labelX14; private DevComponents.DotNetBar.LabelX labelX14;
private System.Windows.Forms.TreeView myTVdel; private System.Windows.Forms.TreeView myTVdel;
private DevComponents.DotNetBar.ButtonX btnDeleteItems; private DevComponents.DotNetBar.ButtonX btnDeleteItems;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmDelete; private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmDelete;
} private DevComponents.DotNetBar.PanelEx itemPanel1;
private DevComponents.DotNetBar.ButtonX btnPurgeChange;
private System.Windows.Forms.DateTimePicker dtePurge;
private DevComponents.DotNetBar.Controls.WarningBox warningBox3;
private DevComponents.DotNetBar.Controls.WarningBox warningBox6;
private DevComponents.DotNetBar.ButtonX btnIndexMaint;
}
} }

View File

@@ -9,6 +9,7 @@ using Volian.Controls.Library;
using DevComponents.DotNetBar; using DevComponents.DotNetBar;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
using System.Linq; using System.Linq;
using System.Data;
namespace VEPROMS namespace VEPROMS
{ {
@@ -62,7 +63,13 @@ namespace VEPROMS
swRmOrphanDataRecs.Enabled = false; swRmOrphanDataRecs.Enabled = false;
swRefreshWordAttmts.Enabled = false; swRefreshWordAttmts.Enabled = false;
swStandardHypenChars.Enabled = false; swStandardHypenChars.Enabled = false;
//if not full admin, disable Purge Change History
btnPurgeChange.Enabled = false;
} }
//default to 10 years back
dtePurge.Value = DateTime.Now.AddYears(-10);
} }
// Make txtProcess text box available to frmAnnotationsClean form. // Make txtProcess text box available to frmAnnotationsClean form.
internal TextBox GettxtProcess() internal TextBox GettxtProcess()
@@ -1018,6 +1025,51 @@ namespace VEPROMS
} }
} }
//C2021-058 Admin Tool Purge Change History
private void btnPurgeChange_Click(object sender, EventArgs e)
{
if (AreOtherUserSessionsInProgress() || !CheckProcessLater()) return; // delay processing if set
//check any users have active sessions
//if they do, do not continue
if (!AreOtherUserSessionsInProgress())
{
DialogResult dr = MessageBox.Show("Are you sure you wish to Perform this action. This will remove all audit records before the specified date above, as well as the ability to restore deleted items from before the above date. It is recommended that you perform a database backup prior to performing this action.", "Purge Change History", MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
//Purge Change History
string statmsg = $"Purging all Change History before {dtePurge.Value.Date.ToString("MM/dd/yyyy")}";
InitialProgressBarMessage = statmsg;
txtResults.AppendText(statmsg);
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
Maintenance.PurgeChangeHistory(dtePurge.Value);
//update status
statmsg = $"Finished Purging all Change History before {dtePurge.Value.Date.ToString("MM/dd/yyyy")}. Updating indexes to reflect cleaned data.";
DoProgressBarRefresh(50, 100, statmsg);
txtProcess.AppendText(statmsg);
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(Environment.NewLine);
txtResults.AppendText(statmsg);
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
//Perform Index Maintenance
Maintenance.IndexMaintenance();
statmsg = "Finished Purging Change History and Updating indexes to reflect cleaned data.";
FinalProgressBarMessage = statmsg;
txtResults.AppendText(statmsg);
txtResults.AppendText(Environment.NewLine);
txtResults.AppendText(Environment.NewLine);
MessageBox.Show("Purge Change History Completed", "Purge Change History");
}
}
}
private void myTV_AfterCheck(object sender, TreeViewEventArgs e) private void myTV_AfterCheck(object sender, TreeViewEventArgs e)
{ {
//B2025 - 013 Admin Tool Tree Behavior //B2025 - 013 Admin Tool Tree Behavior
@@ -1186,6 +1238,20 @@ namespace VEPROMS
ResetDelTV(false); ResetDelTV(false);
} }
//C2021-058 Admin Tool Purge Change History
//new Maintenance tab
private void sideNavItmMaint_Click(object sender, EventArgs e)
{
AdminToolType = E_AdminToolType.Maintenance;
setupProgessSteps1();
//notify Set Admin user that only Full Admins can run maintenance tools
if (!IsAdministratorUser)
{
MessageBox.Show("Note: Only Full PROMS Administrator Users can run Purge Change History", "Maintenance Tools", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
#region On/Off Swiches #region On/Off Swiches
// C2017-030 new Admin Tools user interface // C2017-030 new Admin Tools user interface
@@ -1193,7 +1259,8 @@ namespace VEPROMS
{ {
Repair = 1, Repair = 1,
Links = 2, Links = 2,
Delete = 4 Delete = 4,
Maintenance = 10
}; };
private E_AdminToolType AdminToolType = E_AdminToolType.Repair; private E_AdminToolType AdminToolType = E_AdminToolType.Repair;
@@ -1227,6 +1294,7 @@ namespace VEPROMS
break; break;
case E_AdminToolType.Links: case E_AdminToolType.Links:
case E_AdminToolType.Maintenance:
splitContainer3.Panel2Collapsed = true; splitContainer3.Panel2Collapsed = true;
progressSteps1.Visible = false; progressSteps1.Visible = false;
break; break;
@@ -1661,6 +1729,55 @@ namespace VEPROMS
//clears the stack to help with memory - should never need to undo text changes to this. //clears the stack to help with memory - should never need to undo text changes to this.
txtResults.ClearUndo(); txtResults.ClearUndo();
} }
//C2025-052 Admin Tool Index Maintenance
private void btnIndexMaint_Click(object sender, EventArgs e)
{
if (!CheckProcessLater()) return; // delay processing if set
//check any users have active sessions
if (!AreOtherUserSessionsInProgress())
{
string statmsg = "Updating Indexes (this may take a few minutes to complete)...";
InitialProgressBarMessage = statmsg;
txtResults.AppendText(statmsg);
txtResults.AppendText(Environment.NewLine);
Maintenance.IndexMaintenance();
statmsg = "Finished Updating indexes.";
FinalProgressBarMessage = statmsg;
txtResults.AppendText(statmsg);
txtResults.AppendText(Environment.NewLine);
MessageBox.Show("Index Maintenance Completed", "Index Maintenance");
}
}
//C2021-058 Admin Tool Purge Change History/C2025-052 Admin Tool Index Maintenance
// If any other users have active sessions, stop and write
// out list of users
private bool AreOtherUserSessionsInProgress()
{
DataTable dt = Maintenance.GetOtherUserSessionsInProgress(MySessionInfo.UserID);
if (dt.Rows.Count == 0) return false;
txtProcess.AppendText("The following Users are currently in PROMS:");
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText("Userid, Computer Name, last login");
txtProcess.AppendText(Environment.NewLine);
foreach (DataRow r in dt.Rows)
{
txtProcess.AppendText($"{r["UserID"]}, {r["MachineName"]}, {r["DTSDtart"]}");
txtProcess.AppendText(Environment.NewLine);
}
MessageBox.Show("Certain Maintenance functions cannot be run if other users are currently in PROMS. Please see the output Results text for a list of other users with active PROMS sessions.", "Active PROMS Sessions", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return true;
}
} }
} }

View File

@@ -216,6 +216,12 @@ Should an item become orphaned (disconnected) from the rest of the data, it will
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool removes any orphaned items from the database. Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool removes any orphaned items from the database.
</value> </value>
</data>
<data name="btnIndexMaint.Tooltip" xml:space="preserve">
<value>This will perform Index Maintenance to realign indexes to optimize performance.
This function will cause no change to data or records in PROMS.
It should however be performed when other users are not in PROMS, as it could
cause slowdown or errors for other users while it is running.</value>
</data> </data>
<data name="swDeleteFolder.SuperTooltip" xml:space="preserve"> <data name="swDeleteFolder.SuperTooltip" xml:space="preserve">
<value>This allows the user to remove folders and sub folders as well as their contents. <value>This allows the user to remove folders and sub folders as well as their contents.
@@ -255,6 +261,47 @@ If more than one working draft is selected, it is recommended that this be perfo
Click on the on/off switches to turn on/off each tool. Click on the on/off switches to turn on/off each tool.
Note that only one of these tools can be run at a time.</value> Note that only one of these tools can be run at a time.</value>
</data>
<data name="btnPurgeChange.Tooltip" xml:space="preserve">
<value>Purges all audit information and change history older than the above date.
It is recommended that you perform a database backup before performing this action.
Note after purging the information, this will automatically perform the Index
Maintenance function to realign indexes with the cut down audit data.
Only Full PROMS Administrator Users can perform this action.</value>
</data>
<data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
</value>
</data>
<data name="warningBox6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAp5JREFUOE+F
k11Ik1Ecxv9zouJ2E4TWnR8V5tAppJmYsLnNlaLTxAoiKIQiibpYSmEEmSSa0IVGISMUw7rpE+yiQiuk
/IhROssPyjanpL4udeq29z3nCdcH+Wb1g+fq/zzP+R8Oh+gvPK4kNWujp1IrPek8S5Hy+X9hbXSN9aVC
eq1FwEYN8vk/mWqiDPZwI+NOHbhLj8CdDaK7npLlvnWpO0AKqZV62YgO/GMquDMN0rAevkbqlHvXZdlG
h6Rn8eATu4GJncB0Fvh8HnwPYuGpJ4vcvwZbGYWJrcpPzGXG8ngGtsZFQJOggrS0B9J0MbwNIR9uHqRQ
ee4XPhuVSy814IIB/lk9QkIIanUomFgIzkux0qHB/CUqk+eCtB2jCLEl1M1mLcBSLthKHlQqJaKjw8FZ
Mbi/ENKXEizUKD/f2k9h8jz5mumk2K0F9xUAUgE4K0JUVDji4yLBvflgMyYwlxFL9zSYq6ITa8I3DlNY
wKZ0soVSgFkAXgwuFSEmJhJJiWqwCR3YSCbY2x0QB4zwnFc6W4p+22KxiY4EXiQF74kf6/L5vdi+TYV0
rRpsMB2sPxWsRwvpTTq87QmYOUNHg+HqQlL4ryscbK4UPGD5vu60CWw8G7evbkN7bSykXm0w/FMBew6E
CsXQFQMpaLKezP6OLeDL+8AFM5hLBzaciennKcFXUCgI7o7ENQWSfRcWmmPgPEW5tNJIj8QxM9hkDthY
FthAGlh/SvAPXC7fjOrjmyC+Sl5TsCpfdzYEK92llUbllDiaD3HEDPG9CaLDCGnI9IdEhwnioBHiOwMC
dj38fYbVglHy1FGJt57uL9ZS10IN9cxfJPvXCzTgqSKH5xwNzVXSkFBBDsFKA4KV7IKVegQrda2e7j5N
ud8AKwnMnBpmYFAAAAAASUVORK5CYII=
</value>
</data> </data>
<data name="swCheckROLinks.SuperTooltip" xml:space="preserve"> <data name="swCheckROLinks.SuperTooltip" xml:space="preserve">
<value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. <value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
@@ -342,6 +389,6 @@ If more than one procedure is selected, it is recommended that this be performed
</value> </value>
</data> </data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>46</value> <value>137</value>
</metadata> </metadata>
</root> </root>

View File

@@ -0,0 +1,92 @@
using System;
using Csla.Data;
using System.Data;
using System.Data.SqlClient;
//CSM - C2021-058 - Minimal Class for User Maintenance
namespace VEPROMS.CSLA.Library
{
public static class Maintenance
{
#region Get User Reports - Admin Tool Purge Change History
//CSM - C2021-058 Maintenance Purge Change History
public static void PurgeChangeHistory(DateTime dte)
{
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "vesp_PurgeChangeHistory";
cm.Parameters.AddWithValue("@dte", dte);
cm.CommandTimeout = 0;
cm.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
throw new DbCslaException("Error in PurgeChangeHistory: ", ex);
}
}
//CSM - C2025-052 Rebuild all Indexes
public static void IndexMaintenance()
{
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "vesp_IndexMaintenance";
cm.CommandTimeout = 0;
cm.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
throw new DbCslaException("Error in IndexMaintenance: ", ex);
}
}
#endregion
#region Get Other User Sessions In Progress
//returns all users, machine names, login date
//except current user (user supplied)
public static DataTable GetOtherUserSessionsInProgress(string userid)
{
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "vesp_GetOtherActiveSessions";
cm.Parameters.AddWithValue("@UsrID", userid);
cm.CommandTimeout = Database.DefaultTimeout;
using (SqlDataAdapter da = new SqlDataAdapter(cm))
{
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
}
}
catch (Exception ex)
{
throw new DbCslaException("Error in vesp_GetOtherActiveSessions: retrieving data failed", ex);
}
}
#endregion
}
}

View File

@@ -389,6 +389,7 @@
<Compile Include="Generated\ZTransition.cs" /> <Compile Include="Generated\ZTransition.cs" />
<Compile Include="Generated\ZTransitionInfo.cs" /> <Compile Include="Generated\ZTransitionInfo.cs" />
<Compile Include="Minimal\AnnotationstypeSections.cs" /> <Compile Include="Minimal\AnnotationstypeSections.cs" />
<Compile Include="Minimal\Maintenance.cs" />
<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" />