diff --git a/PROMS/Formats/fmtall/SUMall.xml b/PROMS/Formats/fmtall/SUMall.xml index 6b2516f8..3873bf8b 100644 Binary files a/PROMS/Formats/fmtall/SUMall.xml and b/PROMS/Formats/fmtall/SUMall.xml differ diff --git a/PROMS/Formats/fmtall/VCSDEVall.xml b/PROMS/Formats/fmtall/VCSDEVall.xml index 99edf9c6..620aaac3 100644 Binary files a/PROMS/Formats/fmtall/VCSDEVall.xml and b/PROMS/Formats/fmtall/VCSDEVall.xml differ diff --git a/PROMS/Formats/fmtall/VCSSAMGDEVall.xml b/PROMS/Formats/fmtall/VCSSAMGDEVall.xml index b34fd22d..5f8942e6 100644 Binary files a/PROMS/Formats/fmtall/VCSSAMGDEVall.xml and b/PROMS/Formats/fmtall/VCSSAMGDEVall.xml differ diff --git a/PROMS/Formats/genmacall/sum.svg b/PROMS/Formats/genmacall/sum.svg index dc6c24df..61523c24 100644 Binary files a/PROMS/Formats/genmacall/sum.svg and b/PROMS/Formats/genmacall/sum.svg differ diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index c557604d..b8e92a44 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -23519,6 +23519,90 @@ GO ========================================================================================================== */ + + +/* +========================================================================================================== + Start: C2021-059: SQL to delete folders using admin tool +========================================================================================================== +*/ + +IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'deleteFolderAdmin') +DROP PROCEDURE [dbo].[deleteFolderAdmin] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +/***************************************************************************** + Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE + Copyright 2012 - Volian Enterprises, Inc. All rights reserved. +*****************************************************************************/ +CREATE PROCEDURE [dbo].[deleteFolderAdmin] + +( + @FolderID int +) +WITH EXECUTE AS OWNER +AS +BEGIN TRY -- Try Block + BEGIN TRANSACTION + DELETE From Assignments WHERE [FolderID]=@FolderID + DELETE From Associations where VersionID in (select versionid from DocVersions where folderid = @FolderID) + DELETE From DocVersions where VersionID in (select versionid from DocVersions where folderid= @FolderID) + DELETE From DocVersions where [FolderID]=@FolderID + + -- Delete from items where ItemID matches + DELETE FROM tblitems + WHERE ItemID IN ( + SELECT DISTINCT ItemID + FROM docversions + WHERE folderID = @folderID + ); + + + -- Delete from items where ItemID matches + DELETE FROM tblitems + WHERE ItemID IN ( + SELECT DISTINCT ItemID + FROM docversions + WHERE folderID = @folderID + ); + + -- Delete from tblContents where ContentID matches + DELETE FROM tblContents + WHERE ContentID IN ( + SELECT DISTINCT c.ContentID + FROM tblContents c + JOIN items i ON c.ContentID = i.ItemID + WHERE i.ItemID IN ( + SELECT DISTINCT ItemID + FROM docversions + WHERE folderID = @folderID + ) + ); + + DELETE From Folders WHERE [ParentID] = @FolderID + DELETE From Folders WHERE [FolderID] = @FolderID + + + IF( @@TRANCOUNT > 0 ) COMMIT +END TRY +BEGIN CATCH -- Catch Block + IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level + ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback + EXEC vlnErrorHandler +END CATCH + +GO +/* +========================================================================================================== + End: C2021-059: SQL to delete folders using admin tool +========================================================================================================== +*/ + /* --------------------------------------------------------------------------- | ADD New Code Before this Block | @@ -23552,8 +23636,8 @@ BEGIN TRY -- Try Block DECLARE @RevDate varchar(255) DECLARE @RevDescription varchar(255) - set @RevDate = '07/18/2024 11:24' - set @RevDescription = 'C2024-005 Add an Admin tool that can delete a group of annotations.' + set @RevDate = '07/29/2024 11:24' + set @RevDescription = 'C2021-059 Add SQL for Admin tool delete folders.' Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs index a57d9fd7..d1d4a7e4 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs @@ -105,7 +105,6 @@ this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem(); - this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); this.sideNavItmDelete = new DevComponents.DotNetBar.Controls.SideNavItem(); this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); @@ -115,6 +114,7 @@ this.stepItem3 = new DevComponents.DotNetBar.StepItem(); this.stepItem4 = new DevComponents.DotNetBar.StepItem(); this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX(); + this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); this.splitContainer3.Panel1.SuspendLayout(); @@ -137,14 +137,12 @@ // // myTV // - this.myTV.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.myTV.CheckBoxes = true; this.myTV.Dock = System.Windows.Forms.DockStyle.Bottom; - this.myTV.Location = new System.Drawing.Point(0, 184); + this.myTV.Location = new System.Drawing.Point(0, 285); + this.myTV.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.myTV.Name = "myTV"; - this.myTV.Size = new System.Drawing.Size(291, 310); + this.myTV.Size = new System.Drawing.Size(436, 475); this.myTV.TabIndex = 4; this.myTV.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck); // @@ -152,6 +150,7 @@ // this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.splitContainer3.Name = "splitContainer3"; this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; // @@ -167,8 +166,9 @@ // this.splitContainer3.Panel2.BackColor = System.Drawing.SystemColors.Control; this.splitContainer3.Panel2.Controls.Add(this.panelEx4); - this.splitContainer3.Size = new System.Drawing.Size(1177, 586); - this.splitContainer3.SplitterDistance = 526; + this.splitContainer3.Size = new System.Drawing.Size(1766, 902); + this.splitContainer3.SplitterDistance = 809; + this.splitContainer3.SplitterWidth = 6; this.splitContainer3.TabIndex = 2; // // panelEx3 @@ -180,9 +180,10 @@ this.panelEx3.Controls.Add(this.label3); this.panelEx3.DisabledBackColor = System.Drawing.Color.Empty; this.panelEx3.Dock = System.Windows.Forms.DockStyle.Fill; - this.panelEx3.Location = new System.Drawing.Point(688, 0); + this.panelEx3.Location = new System.Drawing.Point(1032, 0); + this.panelEx3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panelEx3.Name = "panelEx3"; - this.panelEx3.Size = new System.Drawing.Size(489, 526); + this.panelEx3.Size = new System.Drawing.Size(734, 809); this.panelEx3.Style.Alignment = System.Drawing.StringAlignment.Center; this.panelEx3.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; this.panelEx3.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; @@ -197,11 +198,12 @@ // this.txtResults.Dock = System.Windows.Forms.DockStyle.Fill; this.txtResults.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtResults.Location = new System.Drawing.Point(0, 52); + this.txtResults.Location = new System.Drawing.Point(0, 79); + this.txtResults.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.txtResults.Multiline = true; this.txtResults.Name = "txtResults"; this.txtResults.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.txtResults.Size = new System.Drawing.Size(489, 474); + this.txtResults.Size = new System.Drawing.Size(734, 730); this.txtResults.TabIndex = 4; // // panel1 @@ -209,17 +211,19 @@ this.panel1.Controls.Add(this.btnSave); this.panel1.Controls.Add(this.btnClear); this.panel1.Dock = System.Windows.Forms.DockStyle.Top; - this.panel1.Location = new System.Drawing.Point(0, 23); + this.panel1.Location = new System.Drawing.Point(0, 34); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(489, 29); + this.panel1.Size = new System.Drawing.Size(734, 45); this.panel1.TabIndex = 3; // // btnSave // this.btnSave.Dock = System.Windows.Forms.DockStyle.Left; - this.btnSave.Location = new System.Drawing.Point(95, 0); + this.btnSave.Location = new System.Drawing.Point(142, 0); + this.btnSave.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnSave.Name = "btnSave"; - this.btnSave.Size = new System.Drawing.Size(95, 29); + this.btnSave.Size = new System.Drawing.Size(142, 45); this.btnSave.TabIndex = 3; this.btnSave.Text = "Save Results"; this.btnSave.UseVisualStyleBackColor = true; @@ -229,8 +233,9 @@ // this.btnClear.Dock = System.Windows.Forms.DockStyle.Left; this.btnClear.Location = new System.Drawing.Point(0, 0); + this.btnClear.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnClear.Name = "btnClear"; - this.btnClear.Size = new System.Drawing.Size(95, 29); + this.btnClear.Size = new System.Drawing.Size(142, 45); this.btnClear.TabIndex = 2; this.btnClear.Text = "Clear Results"; this.btnClear.UseVisualStyleBackColor = true; @@ -242,8 +247,9 @@ this.label3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label3.Dock = System.Windows.Forms.DockStyle.Top; this.label3.Location = new System.Drawing.Point(0, 0); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(489, 23); + this.label3.Size = new System.Drawing.Size(734, 34); this.label3.TabIndex = 2; this.label3.Text = "Results"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -273,9 +279,10 @@ this.expandableSplitter2.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; this.expandableSplitter2.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); this.expandableSplitter2.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.expandableSplitter2.Location = new System.Drawing.Point(682, 0); + this.expandableSplitter2.Location = new System.Drawing.Point(1023, 0); + this.expandableSplitter2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.expandableSplitter2.Name = "expandableSplitter2"; - this.expandableSplitter2.Size = new System.Drawing.Size(6, 526); + this.expandableSplitter2.Size = new System.Drawing.Size(9, 809); this.expandableSplitter2.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; this.expandableSplitter2.TabIndex = 38; this.expandableSplitter2.TabStop = false; @@ -291,9 +298,10 @@ this.panelEx2.Controls.Add(this.label4); this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty; this.panelEx2.Dock = System.Windows.Forms.DockStyle.Left; - this.panelEx2.Location = new System.Drawing.Point(391, 0); + this.panelEx2.Location = new System.Drawing.Point(587, 0); + this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panelEx2.Name = "panelEx2"; - this.panelEx2.Size = new System.Drawing.Size(291, 526); + this.panelEx2.Size = new System.Drawing.Size(436, 809); this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; this.panelEx2.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; this.panelEx2.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; @@ -309,19 +317,21 @@ this.txtProcess.AcceptsReturn = true; this.txtProcess.Dock = System.Windows.Forms.DockStyle.Fill; this.txtProcess.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtProcess.Location = new System.Drawing.Point(0, 150); + this.txtProcess.Location = new System.Drawing.Point(0, 228); + this.txtProcess.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.txtProcess.Multiline = true; this.txtProcess.Name = "txtProcess"; this.txtProcess.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.txtProcess.Size = new System.Drawing.Size(291, 376); + this.txtProcess.Size = new System.Drawing.Size(436, 581); this.txtProcess.TabIndex = 5; // // pbProcess // this.pbProcess.Dock = System.Windows.Forms.DockStyle.Top; - this.pbProcess.Location = new System.Drawing.Point(0, 125); + this.pbProcess.Location = new System.Drawing.Point(0, 190); + this.pbProcess.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.pbProcess.Name = "pbProcess"; - this.pbProcess.Size = new System.Drawing.Size(291, 25); + this.pbProcess.Size = new System.Drawing.Size(436, 38); this.pbProcess.TabIndex = 6; // // label6 @@ -329,9 +339,10 @@ this.label6.BackColor = System.Drawing.SystemColors.ActiveCaption; this.label6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label6.Dock = System.Windows.Forms.DockStyle.Top; - this.label6.Location = new System.Drawing.Point(0, 102); + this.label6.Location = new System.Drawing.Point(0, 156); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(291, 23); + this.label6.Size = new System.Drawing.Size(436, 34); this.label6.TabIndex = 3; this.label6.Text = "Process Status"; this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -341,10 +352,11 @@ this.panel3.Controls.Add(this.pnlLater); this.panel3.Controls.Add(this.chkLater); this.panel3.Dock = System.Windows.Forms.DockStyle.Top; - this.panel3.Location = new System.Drawing.Point(0, 23); + this.panel3.Location = new System.Drawing.Point(0, 34); + this.panel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panel3.Name = "panel3"; - this.panel3.Padding = new System.Windows.Forms.Padding(6); - this.panel3.Size = new System.Drawing.Size(291, 79); + this.panel3.Padding = new System.Windows.Forms.Padding(9, 9, 9, 9); + this.panel3.Size = new System.Drawing.Size(436, 122); this.panel3.TabIndex = 2; // // pnlLater @@ -354,18 +366,20 @@ this.pnlLater.Controls.Add(this.dtpDate); this.pnlLater.Dock = System.Windows.Forms.DockStyle.Top; this.pnlLater.Enabled = false; - this.pnlLater.Location = new System.Drawing.Point(6, 23); + this.pnlLater.Location = new System.Drawing.Point(9, 33); + this.pnlLater.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.pnlLater.Name = "pnlLater"; - this.pnlLater.Padding = new System.Windows.Forms.Padding(6); - this.pnlLater.Size = new System.Drawing.Size(279, 37); + this.pnlLater.Padding = new System.Windows.Forms.Padding(9, 9, 9, 9); + this.pnlLater.Size = new System.Drawing.Size(418, 57); this.pnlLater.TabIndex = 3; // // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(105, 15); + this.label5.Location = new System.Drawing.Point(158, 23); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(18, 13); + this.label5.Size = new System.Drawing.Size(25, 20); this.label5.TabIndex = 5; this.label5.Text = "@"; // @@ -375,27 +389,30 @@ | System.Windows.Forms.AnchorStyles.Right))); this.dtpTime.CustomFormat = "HH:mm"; this.dtpTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpTime.Location = new System.Drawing.Point(129, 9); + this.dtpTime.Location = new System.Drawing.Point(194, 14); + this.dtpTime.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.dtpTime.Name = "dtpTime"; this.dtpTime.ShowUpDown = true; - this.dtpTime.Size = new System.Drawing.Size(133, 20); + this.dtpTime.Size = new System.Drawing.Size(198, 26); this.dtpTime.TabIndex = 4; // // dtpDate // this.dtpDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; - this.dtpDate.Location = new System.Drawing.Point(9, 9); + this.dtpDate.Location = new System.Drawing.Point(14, 14); + this.dtpDate.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.dtpDate.Name = "dtpDate"; - this.dtpDate.Size = new System.Drawing.Size(90, 20); + this.dtpDate.Size = new System.Drawing.Size(133, 26); this.dtpDate.TabIndex = 3; // // chkLater // this.chkLater.AutoSize = true; this.chkLater.Dock = System.Windows.Forms.DockStyle.Top; - this.chkLater.Location = new System.Drawing.Point(6, 6); + this.chkLater.Location = new System.Drawing.Point(9, 9); + this.chkLater.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.chkLater.Name = "chkLater"; - this.chkLater.Size = new System.Drawing.Size(279, 17); + this.chkLater.Size = new System.Drawing.Size(418, 24); this.chkLater.TabIndex = 4; this.chkLater.Text = "Process Later"; this.chkLater.UseVisualStyleBackColor = true; @@ -407,8 +424,9 @@ this.label4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label4.Dock = System.Windows.Forms.DockStyle.Top; this.label4.Location = new System.Drawing.Point(0, 0); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(291, 23); + this.label4.Size = new System.Drawing.Size(436, 34); this.label4.TabIndex = 3; this.label4.Text = "Process"; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -438,9 +456,10 @@ this.expandableSplitter1.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; this.expandableSplitter1.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); this.expandableSplitter1.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.expandableSplitter1.Location = new System.Drawing.Point(385, 0); + this.expandableSplitter1.Location = new System.Drawing.Point(578, 0); + this.expandableSplitter1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.expandableSplitter1.Name = "expandableSplitter1"; - this.expandableSplitter1.Size = new System.Drawing.Size(6, 526); + this.expandableSplitter1.Size = new System.Drawing.Size(9, 809); this.expandableSplitter1.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; this.expandableSplitter1.TabIndex = 4; this.expandableSplitter1.TabStop = false; @@ -453,8 +472,9 @@ this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; this.panelEx1.Dock = System.Windows.Forms.DockStyle.Left; this.panelEx1.Location = new System.Drawing.Point(0, 0); + this.panelEx1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panelEx1.Name = "panelEx1"; - this.panelEx1.Size = new System.Drawing.Size(385, 526); + this.panelEx1.Size = new System.Drawing.Size(578, 809); this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; this.panelEx1.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; this.panelEx1.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; @@ -486,9 +506,10 @@ this.sideNavItmDelete, this.sideNavItmExit}); this.sideNav1.Location = new System.Drawing.Point(0, 0); + this.sideNav1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.sideNav1.Name = "sideNav1"; - this.sideNav1.Padding = new System.Windows.Forms.Padding(1); - this.sideNav1.Size = new System.Drawing.Size(385, 526); + this.sideNav1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.sideNav1.Size = new System.Drawing.Size(578, 809); this.sideNav1.TabIndex = 3; this.sideNav1.Text = "sideNav1"; // @@ -501,35 +522,11 @@ 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(89, 31); + this.sideNavPanel4.Location = new System.Drawing.Point(109, 40); + this.sideNavPanel4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.sideNavPanel4.Name = "sideNavPanel4"; - this.sideNavPanel4.Size = new System.Drawing.Size(291, 494); + this.sideNavPanel4.Size = new System.Drawing.Size(461, 767); this.sideNavPanel4.TabIndex = 27; - // - // sideNavPanel5 - // - this.sideNavPanel5.Controls.Add(this.btn_ShowUsers); - this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel5.Location = new System.Drawing.Point(81, 31); - this.sideNavPanel5.Name = "sideNavPanel5"; - this.sideNavPanel5.Size = new System.Drawing.Size(299, 494); - this.sideNavPanel5.TabIndex = 14; - this.sideNavPanel5.Visible = false; - // - // btn_ShowUsers - // - this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btn_ShowUsers.Checked = true; - this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btn_ShowUsers.Location = new System.Drawing.Point(57, 37); - this.btn_ShowUsers.Name = "btn_ShowUsers"; - this.btn_ShowUsers.Size = new System.Drawing.Size(171, 23); - this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" + - "d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80))); - this.btn_ShowUsers.TabIndex = 0; - this.btn_ShowUsers.Text = "Show Users"; - this.btn_ShowUsers.Click += new System.EventHandler(this.btn_ShowUsers_Click); // // swDeleteFolder // @@ -537,14 +534,14 @@ // // this.swDeleteFolder.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swDeleteFolder.Location = new System.Drawing.Point(10, 43); + this.swDeleteFolder.Location = new System.Drawing.Point(15, 66); + this.swDeleteFolder.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swDeleteFolder.Name = "swDeleteFolder"; - this.swDeleteFolder.Size = new System.Drawing.Size(69, 22); + this.swDeleteFolder.Size = new System.Drawing.Size(104, 34); this.swDeleteFolder.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.swDeleteFolder, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swDeleteFolder.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150))); + 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.Visible = false; this.swDeleteFolder.ValueChanged += new System.EventHandler(this.swDeleteFolder_ValueChanged); // // labelX13 @@ -555,13 +552,13 @@ // 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.Location = new System.Drawing.Point(128, 65); + this.labelX13.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX13.Name = "labelX13"; - this.labelX13.Size = new System.Drawing.Size(168, 22); - this.superTooltip1.SetSuperTooltip(this.labelX13, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX13.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175))); + this.labelX13.Size = new System.Drawing.Size(252, 34); + 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"; - this.labelX13.Visible = false; // // swDeleteAnnotations // @@ -569,11 +566,12 @@ // // this.swDeleteAnnotations.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swDeleteAnnotations.Location = new System.Drawing.Point(10, 15); + this.swDeleteAnnotations.Location = new System.Drawing.Point(15, 23); + this.swDeleteAnnotations.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swDeleteAnnotations.Name = "swDeleteAnnotations"; - this.swDeleteAnnotations.Size = new System.Drawing.Size(69, 22); + this.swDeleteAnnotations.Size = new System.Drawing.Size(104, 34); this.swDeleteAnnotations.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.swDeleteAnnotations, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swDeleteAnnotations.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175))); + 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; @@ -588,24 +586,24 @@ // 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.Location = new System.Drawing.Point(128, 22); + this.labelX14.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX14.Name = "labelX14"; - this.labelX14.Size = new System.Drawing.Size(186, 22); - this.superTooltip1.SetSuperTooltip(this.labelX14, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX14.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175))); + this.labelX14.Size = new System.Drawing.Size(279, 34); + 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.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.myTVdel.CheckBoxes = true; this.myTVdel.Dock = System.Windows.Forms.DockStyle.Bottom; - this.myTVdel.Location = new System.Drawing.Point(0, 127); + this.myTVdel.Location = new System.Drawing.Point(0, 205); + this.myTVdel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.myTVdel.Name = "myTVdel"; - this.myTVdel.Size = new System.Drawing.Size(291, 367); + this.myTVdel.Size = new System.Drawing.Size(461, 562); this.myTVdel.TabIndex = 34; + this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck_DelAnn); // // btnDeleteItems // @@ -614,13 +612,12 @@ | 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.Location = new System.Drawing.Point(58, 151); + this.btnDeleteItems.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnDeleteItems.Name = "btnDeleteItems"; - this.btnDeleteItems.Size = new System.Drawing.Size(212, 23); + this.btnDeleteItems.Size = new System.Drawing.Size(343, 35); this.btnDeleteItems.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.superTooltip1.SetSuperTooltip(this.btnDeleteItems, new DevComponents.DotNetBar.SuperTooltipInfo("Process Deletions", "", "This will allow for the deletion of groups of annotations and allow for deleting entire folders within PROMS. Use the tree nodes to select which items to delete.\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, 175))); + 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); @@ -639,9 +636,10 @@ 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.Location = new System.Drawing.Point(134, 48); + this.sideNavPanel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.sideNavPanel3.Name = "sideNavPanel3"; - this.sideNavPanel3.Size = new System.Drawing.Size(291, 494); + this.sideNavPanel3.Size = new System.Drawing.Size(436, 760); this.sideNavPanel3.TabIndex = 10; this.sideNavPanel3.Visible = false; // @@ -651,9 +649,10 @@ // // this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swCheckROLinks.Location = new System.Drawing.Point(10, 66); + this.swCheckROLinks.Location = new System.Drawing.Point(15, 102); + this.swCheckROLinks.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swCheckROLinks.Name = "swCheckROLinks"; - this.swCheckROLinks.Size = new System.Drawing.Size(91, 22); + this.swCheckROLinks.Size = new System.Drawing.Size(136, 34); 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; @@ -668,9 +667,10 @@ // 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.Location = new System.Drawing.Point(160, 102); + this.labelX12.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX12.Name = "labelX12"; - this.labelX12.Size = new System.Drawing.Size(186, 22); + this.labelX12.Size = new System.Drawing.Size(279, 34); 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"; @@ -680,20 +680,21 @@ 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.Location = new System.Drawing.Point(26, 223); + this.warningBox5.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.warningBox5.Name = "warningBox5"; this.warningBox5.OptionsButtonVisible = false; - this.warningBox5.Size = new System.Drawing.Size(262, 32); + this.warningBox5.Size = new System.Drawing.Size(393, 49); this.warningBox5.TabIndex = 31; this.warningBox5.Text = "NOTE 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.Location = new System.Drawing.Point(9, 195); + this.line3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.line3.Name = "line3"; - this.line3.Size = new System.Drawing.Size(285, 12); + this.line3.Size = new System.Drawing.Size(428, 18); this.line3.TabIndex = 30; this.line3.Text = "line3"; // @@ -703,9 +704,10 @@ // // this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swUpdateROVals.Location = new System.Drawing.Point(10, 10); + this.swUpdateROVals.Location = new System.Drawing.Point(15, 15); + this.swUpdateROVals.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swUpdateROVals.Name = "swUpdateROVals"; - this.swUpdateROVals.Size = new System.Drawing.Size(91, 22); + this.swUpdateROVals.Size = new System.Drawing.Size(136, 34); 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; @@ -720,9 +722,10 @@ // // this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swRefreshTrans.Location = new System.Drawing.Point(10, 38); + this.swRefreshTrans.Location = new System.Drawing.Point(15, 58); + this.swRefreshTrans.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swRefreshTrans.Name = "swRefreshTrans"; - this.swRefreshTrans.Size = new System.Drawing.Size(91, 22); + this.swRefreshTrans.Size = new System.Drawing.Size(136, 34); 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; @@ -737,9 +740,10 @@ // 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.Location = new System.Drawing.Point(160, 15); + this.labelX11.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX11.Name = "labelX11"; - this.labelX11.Size = new System.Drawing.Size(186, 22); + this.labelX11.Size = new System.Drawing.Size(279, 34); 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"; @@ -752,9 +756,10 @@ // 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.Location = new System.Drawing.Point(160, 58); + this.labelX6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX6.Name = "labelX6"; - this.labelX6.Size = new System.Drawing.Size(186, 22); + this.labelX6.Size = new System.Drawing.Size(279, 34); 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"; @@ -764,11 +769,11 @@ 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.Location = new System.Drawing.Point(26, 278); + this.warningBox1.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.warningBox1.Name = "warningBox1"; this.warningBox1.OptionsButtonVisible = false; - this.warningBox1.Size = new System.Drawing.Size(262, 43); + this.warningBox1.Size = new System.Drawing.Size(393, 66); 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"; @@ -778,9 +783,10 @@ 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.Location = new System.Drawing.Point(15, 151); + this.btnFixLinks.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnFixLinks.Name = "btnFixLinks"; - this.btnFixLinks.Size = new System.Drawing.Size(280, 23); + this.btnFixLinks.Size = new System.Drawing.Size(420, 35); 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" + @@ -802,9 +808,10 @@ this.sideNavPanel1.Controls.Add(this.labelX1); this.sideNavPanel1.Controls.Add(this.btnRunCheck); this.sideNavPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel1.Location = new System.Drawing.Point(89, 31); + this.sideNavPanel1.Location = new System.Drawing.Point(134, 48); + this.sideNavPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.sideNavPanel1.Name = "sideNavPanel1"; - this.sideNavPanel1.Size = new System.Drawing.Size(291, 494); + this.sideNavPanel1.Size = new System.Drawing.Size(436, 760); this.sideNavPanel1.TabIndex = 2; this.sideNavPanel1.Visible = false; // @@ -813,11 +820,11 @@ 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(17, 207); - this.warningBox3.Margin = new System.Windows.Forms.Padding(4); + this.warningBox3.Location = new System.Drawing.Point(26, 318); + this.warningBox3.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.warningBox3.Name = "warningBox3"; this.warningBox3.OptionsButtonVisible = false; - this.warningBox3.Size = new System.Drawing.Size(264, 32); + this.warningBox3.Size = new System.Drawing.Size(396, 49); this.warningBox3.TabIndex = 29; this.warningBox3.Text = "NOTE These tools can take a long time to run"; // @@ -829,18 +836,20 @@ // this.labelX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX7.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX7.Location = new System.Drawing.Point(5, 3); + this.labelX7.Location = new System.Drawing.Point(8, 5); + this.labelX7.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX7.Name = "labelX7"; - this.labelX7.Size = new System.Drawing.Size(251, 22); + this.labelX7.Size = new System.Drawing.Size(376, 34); this.labelX7.TabIndex = 19; this.labelX7.Text = "Check for these Data Issues:"; // // line1 // this.line1.BackColor = System.Drawing.Color.Transparent; - this.line1.Location = new System.Drawing.Point(8, 179); + this.line1.Location = new System.Drawing.Point(12, 275); + this.line1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.line1.Name = "line1"; - this.line1.Size = new System.Drawing.Size(285, 12); + this.line1.Size = new System.Drawing.Size(428, 18); this.line1.TabIndex = 18; this.line1.Text = "line1"; // @@ -850,9 +859,10 @@ // // this.swCkObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swCkObsoleteROData.Location = new System.Drawing.Point(10, 99); + this.swCkObsoleteROData.Location = new System.Drawing.Point(15, 152); + this.swCkObsoleteROData.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swCkObsoleteROData.Name = "swCkObsoleteROData"; - this.swCkObsoleteROData.Size = new System.Drawing.Size(91, 22); + this.swCkObsoleteROData.Size = new System.Drawing.Size(136, 34); this.swCkObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swCkObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("swCkObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); this.swCkObsoleteROData.SwitchClickTogglesValue = true; @@ -867,9 +877,10 @@ // // this.swHiddenDataLocs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swHiddenDataLocs.Location = new System.Drawing.Point(10, 71); + this.swHiddenDataLocs.Location = new System.Drawing.Point(15, 109); + this.swHiddenDataLocs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swHiddenDataLocs.Name = "swHiddenDataLocs"; - this.swHiddenDataLocs.Size = new System.Drawing.Size(91, 22); + this.swHiddenDataLocs.Size = new System.Drawing.Size(136, 34); this.swHiddenDataLocs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swHiddenDataLocs, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("swHiddenDataLocs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.swHiddenDataLocs.SwitchClickTogglesValue = true; @@ -886,9 +897,10 @@ // this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX3.Location = new System.Drawing.Point(107, 99); + this.labelX3.Location = new System.Drawing.Point(160, 152); + this.labelX3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX3.Name = "labelX3"; - this.labelX3.Size = new System.Drawing.Size(154, 22); + this.labelX3.Size = new System.Drawing.Size(231, 34); this.superTooltip1.SetSuperTooltip(this.labelX3, new DevComponents.DotNetBar.SuperTooltipInfo("Obsolete RO Data", "", resources.GetString("labelX3.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 135))); this.labelX3.TabIndex = 11; this.labelX3.Text = "Obsolete RO Data"; @@ -901,9 +913,10 @@ // this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX2.Location = new System.Drawing.Point(107, 71); + this.labelX2.Location = new System.Drawing.Point(160, 109); + this.labelX2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX2.Name = "labelX2"; - this.labelX2.Size = new System.Drawing.Size(140, 22); + this.labelX2.Size = new System.Drawing.Size(210, 34); this.superTooltip1.SetSuperTooltip(this.labelX2, new DevComponents.DotNetBar.SuperTooltipInfo("Hidden Data Locations", "", resources.GetString("labelX2.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.labelX2.TabIndex = 12; this.labelX2.Text = "Hidden Data Locations"; @@ -914,9 +927,10 @@ // // this.swCkOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swCkOrphanDataRecs.Location = new System.Drawing.Point(10, 43); + this.swCkOrphanDataRecs.Location = new System.Drawing.Point(15, 66); + this.swCkOrphanDataRecs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swCkOrphanDataRecs.Name = "swCkOrphanDataRecs"; - this.swCkOrphanDataRecs.Size = new System.Drawing.Size(91, 22); + this.swCkOrphanDataRecs.Size = new System.Drawing.Size(136, 34); this.swCkOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swCkOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("swCkOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 193))); this.swCkOrphanDataRecs.SwitchClickTogglesValue = true; @@ -933,9 +947,10 @@ // this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX1.Location = new System.Drawing.Point(107, 43); + this.labelX1.Location = new System.Drawing.Point(160, 66); + this.labelX1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX1.Name = "labelX1"; - this.labelX1.Size = new System.Drawing.Size(172, 22); + this.labelX1.Size = new System.Drawing.Size(258, 34); this.superTooltip1.SetSuperTooltip(this.labelX1, new DevComponents.DotNetBar.SuperTooltipInfo("Orphan Data Records", "", resources.GetString("labelX1.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(275, 190))); this.labelX1.TabIndex = 8; this.labelX1.Text = "Orphan Data Records"; @@ -946,9 +961,10 @@ this.btnRunCheck.Checked = true; this.btnRunCheck.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnRunCheck.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnRunCheck.Location = new System.Drawing.Point(5, 150); + this.btnRunCheck.Location = new System.Drawing.Point(8, 231); + this.btnRunCheck.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnRunCheck.Name = "btnRunCheck"; - this.btnRunCheck.Size = new System.Drawing.Size(286, 23); + this.btnRunCheck.Size = new System.Drawing.Size(429, 35); this.btnRunCheck.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.btnRunCheck, new DevComponents.DotNetBar.SuperTooltipInfo("Run Check", "", "This will run the database check tools selected.\r\n\r\nClick on the on/off switches " + "to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 100))); @@ -974,9 +990,10 @@ this.sideNavPanel2.Controls.Add(this.line2); this.sideNavPanel2.Controls.Add(this.btnRunRepair); this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill; - this.sideNavPanel2.Location = new System.Drawing.Point(89, 31); + this.sideNavPanel2.Location = new System.Drawing.Point(134, 48); + this.sideNavPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.sideNavPanel2.Name = "sideNavPanel2"; - this.sideNavPanel2.Size = new System.Drawing.Size(291, 494); + this.sideNavPanel2.Size = new System.Drawing.Size(436, 760); this.sideNavPanel2.TabIndex = 6; this.sideNavPanel2.Visible = false; // @@ -986,9 +1003,10 @@ // // this.swRefreshTblsForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swRefreshTblsForSrch.Location = new System.Drawing.Point(10, 153); + this.swRefreshTblsForSrch.Location = new System.Drawing.Point(15, 235); + this.swRefreshTblsForSrch.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swRefreshTblsForSrch.Name = "swRefreshTblsForSrch"; - this.swRefreshTblsForSrch.Size = new System.Drawing.Size(91, 22); + this.swRefreshTblsForSrch.Size = new System.Drawing.Size(136, 34); this.swRefreshTblsForSrch.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swRefreshTblsForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshTblsForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200))); this.swRefreshTblsForSrch.SwitchClickTogglesValue = true; @@ -1005,9 +1023,10 @@ // this.lblRefreshTblForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.lblRefreshTblForSrch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblRefreshTblForSrch.Location = new System.Drawing.Point(107, 153); + this.lblRefreshTblForSrch.Location = new System.Drawing.Point(160, 235); + this.lblRefreshTblForSrch.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.lblRefreshTblForSrch.Name = "lblRefreshTblForSrch"; - this.lblRefreshTblForSrch.Size = new System.Drawing.Size(186, 22); + this.lblRefreshTblForSrch.Size = new System.Drawing.Size(279, 34); this.superTooltip1.SetSuperTooltip(this.lblRefreshTblForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("lblRefreshTblForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200))); this.lblRefreshTblForSrch.TabIndex = 31; this.lblRefreshTblForSrch.Text = "Refresh Tables For Search"; @@ -1017,11 +1036,11 @@ this.warningBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249))))); this.warningBox4.CloseButtonVisible = false; this.warningBox4.Image = ((System.Drawing.Image)(resources.GetObject("warningBox4.Image"))); - this.warningBox4.Location = new System.Drawing.Point(12, 264); - this.warningBox4.Margin = new System.Windows.Forms.Padding(4); + this.warningBox4.Location = new System.Drawing.Point(18, 406); + this.warningBox4.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.warningBox4.Name = "warningBox4"; this.warningBox4.OptionsButtonVisible = false; - this.warningBox4.Size = new System.Drawing.Size(264, 32); + this.warningBox4.Size = new System.Drawing.Size(396, 49); this.warningBox4.TabIndex = 30; this.warningBox4.Text = "NOTE These tools can take a long time to run"; // @@ -1030,11 +1049,11 @@ this.warningBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249))))); this.warningBox2.CloseButtonVisible = false; this.warningBox2.Image = ((System.Drawing.Image)(resources.GetObject("warningBox2.Image"))); - this.warningBox2.Location = new System.Drawing.Point(12, 302); - this.warningBox2.Margin = new System.Windows.Forms.Padding(4); + this.warningBox2.Location = new System.Drawing.Point(18, 465); + this.warningBox2.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.warningBox2.Name = "warningBox2"; this.warningBox2.OptionsButtonVisible = false; - this.warningBox2.Size = new System.Drawing.Size(264, 43); + this.warningBox2.Size = new System.Drawing.Size(396, 66); this.warningBox2.TabIndex = 28; this.warningBox2.Text = " Be sure there is a current backup of the \r\n database prior to running these func" + "tions"; @@ -1045,9 +1064,10 @@ // // this.swRmObsoleteROData.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swRmObsoleteROData.Location = new System.Drawing.Point(10, 66); + this.swRmObsoleteROData.Location = new System.Drawing.Point(15, 102); + this.swRmObsoleteROData.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swRmObsoleteROData.Name = "swRmObsoleteROData"; - this.swRmObsoleteROData.Size = new System.Drawing.Size(91, 22); + this.swRmObsoleteROData.Size = new System.Drawing.Size(136, 34); this.swRmObsoleteROData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swRmObsoleteROData, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("swRmObsoleteROData.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205))); this.swRmObsoleteROData.SwitchClickTogglesValue = true; @@ -1062,9 +1082,10 @@ // // this.swRefreshWordAttmts.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swRefreshWordAttmts.Location = new System.Drawing.Point(10, 122); + this.swRefreshWordAttmts.Location = new System.Drawing.Point(15, 188); + this.swRefreshWordAttmts.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swRefreshWordAttmts.Name = "swRefreshWordAttmts"; - this.swRefreshWordAttmts.Size = new System.Drawing.Size(91, 22); + this.swRefreshWordAttmts.Size = new System.Drawing.Size(136, 34); this.swRefreshWordAttmts.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swRefreshWordAttmts, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshWordAttmts.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200))); this.swRefreshWordAttmts.SwitchClickTogglesValue = true; @@ -1079,9 +1100,10 @@ // // this.swStandardHypenChars.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swStandardHypenChars.Location = new System.Drawing.Point(10, 94); + this.swStandardHypenChars.Location = new System.Drawing.Point(15, 145); + this.swStandardHypenChars.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swStandardHypenChars.Name = "swStandardHypenChars"; - this.swStandardHypenChars.Size = new System.Drawing.Size(91, 22); + this.swStandardHypenChars.Size = new System.Drawing.Size(136, 34); this.swStandardHypenChars.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swStandardHypenChars, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("swStandardHypenChars.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129))); this.swStandardHypenChars.SwitchClickTogglesValue = true; @@ -1098,9 +1120,10 @@ // this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX4.Location = new System.Drawing.Point(107, 66); + this.labelX4.Location = new System.Drawing.Point(160, 102); + this.labelX4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX4.Name = "labelX4"; - this.labelX4.Size = new System.Drawing.Size(167, 22); + this.labelX4.Size = new System.Drawing.Size(250, 34); this.superTooltip1.SetSuperTooltip(this.labelX4, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Obsolete RO Data", "", resources.GetString("labelX4.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 205))); this.labelX4.TabIndex = 24; this.labelX4.Text = "Remove Obsolete RO Data"; @@ -1113,9 +1136,10 @@ // this.labelX5.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX5.Location = new System.Drawing.Point(107, 122); + this.labelX5.Location = new System.Drawing.Point(160, 188); + this.labelX5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX5.Name = "labelX5"; - this.labelX5.Size = new System.Drawing.Size(186, 22); + this.labelX5.Size = new System.Drawing.Size(279, 34); this.superTooltip1.SetSuperTooltip(this.labelX5, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("labelX5.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200))); this.labelX5.TabIndex = 25; this.labelX5.Text = "Refresh Word Attachments"; @@ -1128,9 +1152,10 @@ // this.labelX9.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX9.Location = new System.Drawing.Point(107, 94); + this.labelX9.Location = new System.Drawing.Point(160, 145); + this.labelX9.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX9.Name = "labelX9"; - this.labelX9.Size = new System.Drawing.Size(186, 22); + this.labelX9.Size = new System.Drawing.Size(279, 34); this.superTooltip1.SetSuperTooltip(this.labelX9, new DevComponents.DotNetBar.SuperTooltipInfo("Standardize Hyphen Characters", "", resources.GetString("labelX9.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(225, 129))); this.labelX9.TabIndex = 25; this.labelX9.Text = "Standardize Hyphen Characters"; @@ -1141,9 +1166,10 @@ // // this.swRmOrphanDataRecs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.swRmOrphanDataRecs.Location = new System.Drawing.Point(10, 38); + this.swRmOrphanDataRecs.Location = new System.Drawing.Point(15, 58); + this.swRmOrphanDataRecs.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.swRmOrphanDataRecs.Name = "swRmOrphanDataRecs"; - this.swRmOrphanDataRecs.Size = new System.Drawing.Size(91, 22); + this.swRmOrphanDataRecs.Size = new System.Drawing.Size(136, 34); this.swRmOrphanDataRecs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.swRmOrphanDataRecs, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("swRmOrphanDataRecs.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140))); this.swRmOrphanDataRecs.SwitchClickTogglesValue = true; @@ -1160,9 +1186,10 @@ // this.labelX10.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX10.Location = new System.Drawing.Point(107, 38); + this.labelX10.Location = new System.Drawing.Point(160, 58); + this.labelX10.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX10.Name = "labelX10"; - this.labelX10.Size = new System.Drawing.Size(184, 22); + this.labelX10.Size = new System.Drawing.Size(276, 34); this.superTooltip1.SetSuperTooltip(this.labelX10, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Orphan Data Records", "", resources.GetString("labelX10.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(325, 140))); this.labelX10.TabIndex = 22; this.labelX10.Text = "Remove Orphan Data Records"; @@ -1175,18 +1202,20 @@ // this.labelX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX8.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX8.Location = new System.Drawing.Point(5, 3); + this.labelX8.Location = new System.Drawing.Point(8, 5); + this.labelX8.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.labelX8.Name = "labelX8"; - this.labelX8.Size = new System.Drawing.Size(251, 22); + this.labelX8.Size = new System.Drawing.Size(376, 34); this.labelX8.TabIndex = 21; this.labelX8.Text = "Repair these Data Issues:"; // // line2 // this.line2.BackColor = System.Drawing.Color.Transparent; - this.line2.Location = new System.Drawing.Point(4, 237); + this.line2.Location = new System.Drawing.Point(6, 365); + this.line2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.line2.Name = "line2"; - this.line2.Size = new System.Drawing.Size(281, 12); + this.line2.Size = new System.Drawing.Size(422, 18); this.line2.TabIndex = 20; this.line2.Text = "line2"; // @@ -1196,9 +1225,10 @@ this.btnRunRepair.Checked = true; this.btnRunRepair.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnRunRepair.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnRunRepair.Location = new System.Drawing.Point(5, 198); + this.btnRunRepair.Location = new System.Drawing.Point(8, 305); + this.btnRunRepair.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.btnRunRepair.Name = "btnRunRepair"; - this.btnRunRepair.Size = new System.Drawing.Size(280, 23); + this.btnRunRepair.Size = new System.Drawing.Size(420, 35); this.btnRunRepair.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.superTooltip1.SetSuperTooltip(this.btnRunRepair, new DevComponents.DotNetBar.SuperTooltipInfo("Run Repair", "", "This will run the database repair tools selected.\r\n\r\nClick on the on/off switches" + " to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 103))); @@ -1206,6 +1236,33 @@ this.btnRunRepair.Text = "Run Repair"; this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click); // + // sideNavPanel5 + // + this.sideNavPanel5.Controls.Add(this.btn_ShowUsers); + this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.sideNavPanel5.Location = new System.Drawing.Point(122, 48); + this.sideNavPanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.sideNavPanel5.Name = "sideNavPanel5"; + this.sideNavPanel5.Size = new System.Drawing.Size(448, 760); + this.sideNavPanel5.TabIndex = 14; + this.sideNavPanel5.Visible = false; + // + // btn_ShowUsers + // + this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btn_ShowUsers.Checked = true; + this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.btn_ShowUsers.Location = new System.Drawing.Point(86, 57); + this.btn_ShowUsers.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.btn_ShowUsers.Name = "btn_ShowUsers"; + this.btn_ShowUsers.Size = new System.Drawing.Size(256, 35); + this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" + + "d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80))); + this.btn_ShowUsers.TabIndex = 0; + this.btn_ShowUsers.Text = "Show Users"; + this.btn_ShowUsers.Click += new System.EventHandler(this.btn_ShowUsers_Click); + // // sideNavItem1 // this.sideNavItem1.IsSystemMenu = true; @@ -1255,11 +1312,6 @@ this.sideNavItmUsers.Text = "Users"; this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click); // - // buttonItem1 - // - this.buttonItem1.Name = "buttonItem1"; - this.buttonItem1.Text = "buttonItem1"; - // // sideNavItmDelete // this.sideNavItmDelete.Checked = true; @@ -1286,8 +1338,9 @@ this.panelEx4.DisabledBackColor = System.Drawing.Color.Empty; this.panelEx4.Dock = System.Windows.Forms.DockStyle.Fill; this.panelEx4.Location = new System.Drawing.Point(0, 0); + this.panelEx4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.panelEx4.Name = "panelEx4"; - this.panelEx4.Size = new System.Drawing.Size(1177, 56); + this.panelEx4.Size = new System.Drawing.Size(1766, 87); this.panelEx4.Style.Alignment = System.Drawing.StringAlignment.Center; this.panelEx4.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; this.panelEx4.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; @@ -1314,9 +1367,10 @@ this.stepItem3, this.stepItem4}); this.progressSteps1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; - this.progressSteps1.Location = new System.Drawing.Point(123, 18); + this.progressSteps1.Location = new System.Drawing.Point(184, 28); + this.progressSteps1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.progressSteps1.Name = "progressSteps1"; - this.progressSteps1.Size = new System.Drawing.Size(1032, 26); + this.progressSteps1.Size = new System.Drawing.Size(1548, 40); this.progressSteps1.TabIndex = 18; // // stepItem1 @@ -1355,12 +1409,18 @@ // this.lblAdmToolProgressType.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.lblAdmToolProgressType.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblAdmToolProgressType.Location = new System.Drawing.Point(19, 10); + this.lblAdmToolProgressType.Location = new System.Drawing.Point(28, 15); + this.lblAdmToolProgressType.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.lblAdmToolProgressType.Name = "lblAdmToolProgressType"; - this.lblAdmToolProgressType.Size = new System.Drawing.Size(98, 34); + this.lblAdmToolProgressType.Size = new System.Drawing.Size(147, 52); this.lblAdmToolProgressType.TabIndex = 19; this.lblAdmToolProgressType.Text = "Checking:"; // + // buttonItem1 + // + this.buttonItem1.Name = "buttonItem1"; + this.buttonItem1.Text = "buttonItem1"; + // // superTooltip1 // this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); @@ -1368,10 +1428,11 @@ // // frmBatchRefresh // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1177, 586); + this.ClientSize = new System.Drawing.Size(1766, 902); this.Controls.Add(this.splitContainer3); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "frmBatchRefresh"; diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs index 429c1244..e5c85cb9 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs @@ -10,6 +10,7 @@ using System.IO; using Volian.Controls.Library; using DevComponents.DotNetBar; using JR.Utils.GUI.Forms; +using Volian.Controls.Library; namespace VEPROMS { @@ -24,11 +25,17 @@ namespace VEPROMS private bool IsAdministratorUser = false; //C2020-035 used to control what Set Amins can do // C2017-030 - new Admin Tools user interface // pass in session info to constructor - public frmBatchRefresh(SessionInfo sessionInfo) + + private frmVEPROMS _veProms; + + public frmBatchRefresh(SessionInfo sessionInfo, frmVEPROMS veProms) { InitializeComponent(); _MySessionInfo = sessionInfo; + _veProms = veProms; + + // When opening Admin tools Check tab will be default. this.sideNavItmCheck.Checked = true; @@ -36,7 +43,10 @@ namespace VEPROMS { AdminToolType = (E_AdminToolType)4; if (swDeleteFolder.Value) + { ResetDelTV(true); + setupProgessSteps1(); + } else ResetDelTV(false); } @@ -101,6 +111,8 @@ namespace VEPROMS private Dictionary myProcedures = new Dictionary(); private Dictionary myDocVersions = new Dictionary(); + private Dictionary myFolders = new Dictionary(); + private void frmBatchRefresh_Load(object sender, EventArgs e) { IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process. @@ -143,6 +155,7 @@ namespace VEPROMS //myTreeNodePath = new List(); myTV.Nodes.Clear(); myDocVersions.Clear(); + myFolders.Clear(); FolderInfo fi = FolderInfo.GetTop(); TreeNode tn = myTV.Nodes.Add(fi.Name); tn.Tag = fi; @@ -166,44 +179,21 @@ namespace VEPROMS if (fi.ChildFolderCount > 0) { - if (noProcs) - { - LoadBottomLevelFolders(fi, myTVdel); - } - else - { - TreeNode tn = new TreeNode(fi.Name); - tn.Tag = fi; - tn.StateImageIndex = -1; // Hide the checkbox for the root node - LoadChildFolders(fi, tn, noProcs); - myTVdel.Nodes.Add(tn); - } + TreeNode tn = new TreeNode(fi.Name); + tn.Tag = fi; + tn.StateImageIndex = -1; // Hide the checkbox for the root node + LoadChildFolders(fi, tn, noProcs); + myTVdel.Nodes.Add(tn); } if (myTVdel.SelectedNode != null) myTVdel.SelectedNode.Expand(); - this.Cursor = Cursors.Default; - //btnFixLinks.Enabled = false; - //this.Cursor = Cursors.WaitCursor; - ////myTreeNodePath = new List(); - //myTVdel.Nodes.Clear(); - //myDocVersions.Clear(); - //FolderInfo fi = FolderInfo.GetTop(); - //TreeNode tn = myTVdel.Nodes.Add(fi.Name ); - //tn.Tag = fi; - //if (fi.ChildFolderCount > 0) - //{ - // if (noProcs) - // { - // LoadBottomLevelFolders(fi, myTVdel); - // } - // else - // LoadChildFolders(fi, tn, noProcs); - //} - //if (myTVdel.SelectedNode != null) - // myTVdel.SelectedNode.Expand(); - //this.Cursor = Cursors.Default; + //Expand if folders + if (noProcs) + myTVdel.ExpandAll(); + + this.Cursor = Cursors.Default; } // B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set @@ -215,10 +205,13 @@ namespace VEPROMS { TreeNode tnc = tn.Nodes.Add(fic.Name); tnc.Tag = fic; + if (fic.ChildFolderCount > 0) + { if (LoadChildFolders(fic, tnc, noProcs)) loadedChildWorkingDraft = true; - // B2020-114 and C2020-035 only show folders the Set Admin can access + } + if (fic.FolderDocVersionCount > 0) { if (!LoadDocVersions(fic, tnc, noProcs)) @@ -226,40 +219,27 @@ namespace VEPROMS else loadedWorkingDraft = true; } - } - if (loadedChildWorkingDraft) loadedWorkingDraft = true; // B2021-060 if child folder working draft loaded set loadedWorkingDraft - if (tn.Parent != null && !loadedWorkingDraft) - tn.Remove(); - return loadedWorkingDraft; - } - /// - /// Load only bottom layer of folders into treenode. - /// - /// - /// - private void LoadBottomLevelFolders(FolderInfo fi, TreeView treeView) - { - foreach (FolderInfo fic in fi.SortedChildFolders) - { - if (fic.ChildFolderCount > 0) - { - // Recursively call for child folders - LoadBottomLevelFolders(fic, treeView); - } else { - if (fic.Name != "PROMS") - { - - - - // If the folder is a bottom-level folder (no child folders), add it directly to the TreeView - TreeNode tnc = treeView.Nodes.Add(fic.Name); - tnc.Tag = fic; - } + // Add the folder to the dictionary + if (!myFolders.ContainsKey(tnc)) + myFolders.Add(tnc, fic); } } + + if (loadedChildWorkingDraft) + { + loadedWorkingDraft = true; + } + + if (tn.Parent != null && !loadedWorkingDraft) + { + tn.Remove(); + } + + return loadedWorkingDraft; } + private bool LoadDocVersions(FolderInfo fic, TreeNode tnc, bool noProcs) { bool rtnval = false; @@ -1276,6 +1256,76 @@ namespace VEPROMS } } } + //After check model to select and deselect nodes on the delete and annotation tree. + private void myTV_AfterCheck_DelAnn(object sender, TreeViewEventArgs e) + { + if (e.Action != TreeViewAction.Unknown) + { + if (e.Node.Nodes.Count > 0) + { + CheckChildNodes_DelAnn(e.Node, e.Node.Checked); + } + } + + if (e.Node.Checked) + { + // Ensure child nodes follow the parent node's state + CheckChildNodes_DelAnn(e.Node, e.Node.Checked); + } + else + { + // Automatically deselect parent nodes if current node is unchecked + if (swDeleteFolder.Value) + DiselectParentNodes_DelAnn(e.Node); + } + + btnFixLinks.Enabled = AtLeastOneNodeChecked_DelAnn(); // Ensure button is enabled based on custom logic + } + private void DiselectParentNodes_DelAnn(TreeNode node) + { + TreeNode parent = node.Parent; + while (parent != null) + { + parent.Checked = false; + parent = parent.Parent; + } + } + private void DiselectChildNodes_DelAnn(TreeNodeCollection children) + { + foreach (TreeNode child in children) + { + child.Checked = false; + DiselectChildNodes_DelAnn(child.Nodes); + } + } + private void CheckChildNodes_DelAnn(TreeNode treeNode, bool isChecked) + { + foreach (TreeNode tn in treeNode.Nodes) + { + tn.Checked = isChecked; + + if (tn.Nodes.Count > 0) + CheckChildNodes_DelAnn(tn, isChecked); + } + } + private bool AtLeastOneNodeChecked_DelAnn() + { + foreach (TreeNode node in myTV.Nodes) + { + if (node.Checked || AnyChildNodeChecked_DelAnn(node)) + return true; + } + return false; + } + private bool AnyChildNodeChecked_DelAnn(TreeNode node) + { + foreach (TreeNode childNode in node.Nodes) + { + if (childNode.Checked || AnyChildNodeChecked_DelAnn(childNode)) + return true; + } + return false; + } private ProgressBarItem _ProgressBar = null; @@ -1466,8 +1516,20 @@ namespace VEPROMS break; case E_AdminToolType.Delete: - splitContainer3.Panel2Collapsed = true; - progressSteps1.Visible = false; + if (swDeleteFolder.Value) + { + splitContainer3.Panel2Collapsed = false; + progressSteps1.Items.Add(siOrphDatRecs); + lblAdmToolProgressType.Text = "Deleting: "; + progressSteps1.Visible = true; + progressSteps1.Refresh(); + } + else + { + lblAdmToolProgressType.Text = ""; + splitContainer3.Panel2Collapsed = true; + progressSteps1.Visible = false; + } break; } } @@ -1669,6 +1731,7 @@ namespace VEPROMS //C2024-005 Delete Annotations, Delete Folders private void swDeleteAnnotations_ValueChanged(object sender, EventArgs e) { + setupProgessSteps1(); swDeleteFolder.Value = !swDeleteAnnotations.Value; if (swDeleteFolder.Value) ResetDelTV(true); @@ -1678,6 +1741,7 @@ namespace VEPROMS private void swDeleteFolder_ValueChanged(object sender, EventArgs e) { + setupProgessSteps1(); swDeleteAnnotations.Value = !swDeleteFolder.Value; if (swDeleteFolder.Value) ResetDelTV(true); @@ -1691,68 +1755,105 @@ namespace VEPROMS txtResults.Clear(); txtProcess.Clear(); + this.Cursor = Cursors.WaitCursor; + + //Create checked proce and doc info lists. + List pil = new List(); + List dvil = new List(); + + // Create a list of procedures the user selected + foreach (TreeNode tn in myProcedures.Keys) + if (tn.Checked) + pil.Add(myProcedures[tn]); + + // Create a list of doc versions the user selected + foreach (TreeNode tn in myDocVersions.Keys) + if (tn.Checked) + dvil.Add(myDocVersions[tn]); + + bool cancelledOut = false; // Flag to indicate if the process should be cancelled + StringBuilder sbDocVersions = new StringBuilder(); + + foreach (DocVersionInfo dq in dvil) + { + string msg = string.Empty; + if (!MySessionInfo.CanCheckOutItem(dq.VersionID, CheckOutType.DocVersion, ref msg)) + { + string msgp = string.Empty; + foreach (ProcedureInfo pi in dq.Procedures) + { + if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msgp)) + { + FolderInfo fi = (FolderInfo)dq.ActiveParent; + int itemID = (int)fi.FolderID; + string folderName = fi.Name; + + if (swDeleteFolder.Value) + sbDocVersions.AppendLine($"{folderName} - {msgp}"); + else + sbDocVersions.AppendLine(msgp); + + cancelledOut = true; + } + } + } + } + + if (cancelledOut) + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine("The batch update process was not successful for all working drafts selected."); + sb.AppendLine("The following procedures are currently checked out..."); + sb.AppendLine(); + sb.AppendLine(sbDocVersions.ToString()); + sb.AppendLine(); + if (swDeleteFolder.Value) + sb.AppendLine("If you want to delete these folders, please contact the respective users and have them close any procedures in the working draft."); + else + sb.AppendLine("If you want to delete annotations from these working drafts, please contact the respective users and have them close any procedures in the working draft."); + sb.AppendLine(); + txtProcess.AppendText(sb.ToString()); + this.Cursor = Cursors.Default; + return; + } + + + if (swDeleteFolder.Value) { - //TODO process deletions of folders - txtProcess.AppendText("Deleting Folders..."); + if (FlexibleMessageBox.Show(this, "Are you sure you want to remove the selected folders and their contents?", "Confirm Folder Deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + txtProcess.AppendText("Deleting Folders..."); - //List pil = new List(); - //foreach (TreeNode tn in myProcedures.Keys) - // if (tn.Checked) - // pil.Add(myProcedures[tn]); + //Load Selected Folders + List ef = new List(); + foreach (TreeNode tn in myFolders.Keys) - ////Load Selected Folders - Dictionary folderData = new Dictionary(); + if (tn.Checked) + ef.Add(myFolders[tn]); - //List Flist = new List(); - //foreach (TreeNode tn in myDocVersions.Keys) - // if (tn.Checked) - // Flist.Add(); - - //List dvil = new List(); - //foreach (TreeNode tn in myDocVersions.Keys) - // if (tn.Checked) - // dvil.Add(myDocVersions[tn]); - - //foreach (TreeNode tn in myTVdel.Nodes) - //{ - // if (tn.Checked) - // { - // var itemInfo = myProcedures[tn]; - // folderData.Add(itemInfo.ItemID, itemInfo.DisplayText); - // } - //} - - //ProcessDelete(dvil); + ProcessDelete(dvil, ef); + } } else { - // Write progress status - txtProcess.AppendText("Deleting Annotations..." + Environment.NewLine); - - // Create a list of procedures the user selected - List pil = new List(); - foreach (TreeNode tn in myProcedures.Keys) - if (tn.Checked) - pil.Add(myProcedures[tn]); - - // Create a list of doc versions the user selected - List dvil = new List(); - foreach (TreeNode tn in myDocVersions.Keys) - if (tn.Checked) - dvil.Add(myDocVersions[tn]); + // Write progress status + txtProcess.AppendText("Deleting Annotations..."); frmAnnotationsCleanup frmAnnoDel = new frmAnnotationsCleanup(this, pil, dvil); - + frmAnnoDel.ShowDialog(); } + this.Cursor = Cursors.Default; } - private void ProcessDelete(List foldersToDelete) + private void ProcessDelete(List foldersToDelete, List emptyFoldersToDelete) { + int foldersDeleted = 0; + DateTime pStart = DateTime.Now; txtProcess.AppendText(Environment.NewLine); txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm")); @@ -1760,17 +1861,19 @@ namespace VEPROMS foreach (var kvp in foldersToDelete) { - int itemID = (int)kvp.ItemID; - string folderName = kvp.Name; + //Gather folder information + FolderInfo fi = (FolderInfo)kvp.ActiveParent; + int itemID = (int)fi.FolderID; + string folderName = fi.Name; // Perform the deletion operation - // Assume DeleteFolderByID is a method that deletes the folder by its ItemID bool deletionSuccessful = DeleteFolderByID(itemID); // Update txtProcess with the progress if (deletionSuccessful) { txtProcess.AppendText($"Successfully deleted folder: {folderName} (ID: {itemID})"); + foldersDeleted += 1; } else { @@ -1778,13 +1881,69 @@ namespace VEPROMS } txtProcess.AppendText(Environment.NewLine); } + + + //Delete non working info folders. + foreach (var kvp in emptyFoldersToDelete) + { + //Gather folder information + FolderInfo fi = (FolderInfo)kvp; + int itemID = (int)fi.FolderID; + string folderName = fi.Name; + + // Perform the deletion operation + bool deletionSuccessful = DeleteFolderByID(itemID); + + // Update txtProcess with the progress + if (deletionSuccessful) + { + txtProcess.AppendText($"Successfully deleted folder: {folderName} (ID: {itemID})"); + foldersDeleted += 1; + } + else + { + txtProcess.AppendText($"Failed to delete folder: {folderName} (ID: {itemID})"); + } + txtProcess.AppendText(Environment.NewLine); + + } + + + + + //Run Repair + int prgStpIdx = -1; + StepProgress(++prgStpIdx, 50); + PurgeDisconnectedItems(); // Orphan Items + StepProgress(prgStpIdx, 100); + + //rebuild + ResetDelTV(true); + + MessageBox.Show($"Folder deletion completed, {foldersDeleted} folders have been deleted.", "Delete Folders"); + ClearStepProgress(); + + txtResults.AppendText($"Folder deletion process completed, {foldersDeleted} folders have been deleted."); + txtResults.AppendText(Environment.NewLine); } - // Example deletion method - private bool DeleteFolderByID(int itemID) + + private bool DeleteFolderByID(int folderID) { - // Implement your folder deletion logic here - // Return true if deletion was successful, false otherwise - return true; // Placeholder + try + { + //Delete + Folder.DeleteFolderAdmin(folderID); + + //update treeview UI via veProms + _veProms.tv_FolderDelete(folderID); + + return true; + } + catch (Exception ex) + { + string err = ex.ToString(); + return false; + } } public List RetrieveChkAnnotations() diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx index 6f97b4fc..ceac1979 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.resx +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.resx @@ -121,9 +121,7 @@ 17, 17 - This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. - -Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. + This allows the user to remove folders and sub folders as well as their contents. Be sure a current backup of the database exists prior performing this function. @@ -132,28 +130,34 @@ It is recommended that this be done during off hours. - This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. - -Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation. + This allows the user to remove folders and sub folders as well as their contents. Be sure a current backup of the database exists prior performing this function. It is recommended that this be done during off hours. + - This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. + This function will allow the user to remove annotations from the selected working drafts. Be sure a current backup of the database exists prior to running this function. -If more than one procedure is selected, it is recommended that this be performed during off hours. +If more than one working draft is selected, it is recommended that this be performed during off hours. - This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set. + This function will allow the user to remove annotations from the selected working drafts. Be sure a current backup of the database exists prior to running this function. -If more than one procedure is selected, it is recommended that this be performed during off hours. +If more than one working draft is selected, it is recommended that this be performed during off hours. + + + This will allow for the deletion of groups of annotations and allow for deleting entire folders within PROMS. Use the tree nodes to select which items to delete. + +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. This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode. diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 3290cd6c..e6861d29 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -254,6 +254,21 @@ namespace VEPROMS tc.RefreshItem(myItemInfo); } + public void tv_FolderDelete(int folderId) + { + // Create an instance of the event args if needed + var args = new vlnTreeFolderDeleteEventArgs(folderId); + + // Trigger the deletion using the event arguments + tv.RemoveFolder(args.FolderId); + + } + private bool Tv_DeleteFolder(object sender, vlnTreeFolderDeleteEventArgs args) + { + tv.RemoveFolder(args.FolderId); + return true; + } + private E_UCFImportOptions _UCFImportOptionsFromSettings; public frmVEPROMS() @@ -474,6 +489,7 @@ namespace VEPROMS tv.NodeNew += new vlnTreeViewEvent(tv_NodeNew); tv.OpenItem += new vlnTreeViewItemInfoEvent(tv_OpenItem); tv.TabDisplay += new StepPanelTabDisplayEvent(tc_PanelTabDisplay); + tv.DeleteFolder += new vlnTreeViewItemInfoDeleteFolderEvent(Tv_DeleteFolder); tv.DeleteItemInfo += new vlnTreeViewItemInfoDeleteEvent(tv_DeleteItemInfo); tv.InsertItemInfo += new vlnTreeViewItemInfoInsertEvent(tv_InsertItemInfo); tv.NodeInsert += new vlnTreeViewEvent(tv_NodeInsert); @@ -2741,7 +2757,7 @@ namespace VEPROMS void btnAdministrativeTools_Click(object sender, EventArgs e) { - frmBatchRefresh frm = new frmBatchRefresh(MySessionInfo); + frmBatchRefresh frm = new frmBatchRefresh(MySessionInfo, this); frm.ProgressBar = bottomProgBar; frm.ShowDialog(this); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/Folder.cs b/PROMS/VEPROMS.CSLA.Library/Generated/Folder.cs index e6f8fdbd..e2b73a00 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/Folder.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/Folder.cs @@ -1433,6 +1433,31 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Folder.Remove", ex); } } + + [Transactional(TransactionalTypes.TransactionScope)] + public static void DeleteFolderAdmin(int folderID) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Folder.Remove", 0); + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "deleteFolderAdmin"; + cm.Parameters.AddWithValue("@FolderID", folderID); + cm.ExecuteNonQuery(); + } + } + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("Folder.Remove", ex); + throw new DbCslaException("Folder.Remove", ex); + } + } #endregion #region Exists public static bool Exists(int folderID) diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index faecc214..5f37d421 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -672,8 +672,10 @@ namespace Volian.Controls.Library if (_MyDisplayTabItems.ContainsKey(key) && pasteType != ItemInfo.EAddpingPart.Replace) // If procedure page open use it unless replace { DisplayTabItem pg = _MyDisplayTabItems[key]; + // B2024-038: if section, refresh the editor even if the section is not expanded. + bool isSec = myItemInfo.IsSection; if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) && - pg.MyStepTabPanel.MyStepPanel._LookupEditItems[myItemInfo.ItemID].Expanded) + (pg.MyStepTabPanel.MyStepPanel._LookupEditItems[myItemInfo.ItemID].Expanded || isSec)) { EditItem edtitm = pg.MyStepTabPanel.MyStepPanel._LookupEditItems[myItemInfo.ItemID]; switch (pasteType) @@ -710,7 +712,8 @@ namespace Volian.Controls.Library } else if (_MyDisplayTabItems.ContainsKey(key) && pasteType == ItemInfo.EAddpingPart.Replace) { - CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab. + // B2024-038: changed tab key to procedure (was item, which caused crash if section) + CloseTabItem(_MyDisplayTabItems["Item - " + proc.ItemID.ToString()]); //Grab itemID and set to close open tab. return false; //B2017-179 PasteReplace will return null if was aborted } return false; diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs b/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs index 605c0232..98e486b8 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs @@ -1,36 +1,36 @@ namespace Volian.Controls.Library { - partial class vlnTreeView - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + partial class vlnTreeView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Component Designer generated code + #region Component Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - } + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } - #endregion - } + #endregion + } } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index dff305ce..e60b358b 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -26,7 +26,9 @@ namespace Volian.Controls.Library public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); + public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args); + public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args); public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args); public delegate TreeNode vlnTreeViewTreeNodeEvent(object sender, vlnTreeEventArgs args); public delegate DialogResult vlnTreeViewPropertyEvent(object sender, vlnTreePropertyEventArgs args); @@ -220,6 +222,15 @@ namespace Volian.Controls.Library } #endregion } + public class vlnTreeFolderDeleteEventArgs : EventArgs + { + public int FolderId { get; } + + public vlnTreeFolderDeleteEventArgs(int folderId) + { + FolderId = folderId; + } + } public enum E_InsertType {Before, After, Child}; public partial class vlnTreeItemInfoInsertEventArgs { @@ -427,6 +438,12 @@ namespace Volian.Controls.Library if (DeleteItemInfo != null) return DeleteItemInfo(sender, args); return false; } + public event vlnTreeViewItemInfoDeleteFolderEvent DeleteFolder; + private bool OnDeleteFolder(object sender, vlnTreeFolderDeleteEventArgs args) + { + if (DeleteItemInfo != null) return DeleteFolder(sender, args); + return false; + } public event vlnTreeViewItemInfoInsertEvent InsertItemInfo; private bool OnInsertItemInfo(object sender, vlnTreeItemInfoInsertEventArgs args) { @@ -551,6 +568,11 @@ namespace Volian.Controls.Library { if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args); } + + + + + public event vlnTreeViewEvent ExportImportProcedureSets; private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) { @@ -1059,6 +1081,11 @@ namespace Volian.Controls.Library #region Menu_Delete if (ok) + + + + + { // Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) // node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. @@ -1082,6 +1109,7 @@ namespace Volian.Controls.Library } } } + #endregion //_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true)); #region Menu_ExternalTransitions @@ -1712,10 +1740,13 @@ namespace Volian.Controls.Library // 1) 'to' & 'from' both 'non', i.e. Neither can have enhanced config data (be source or enhanced) // can do Before/After/Replace // 2) 'to' section is 'source' and 'from' section is 'non' (has no MyEnhancedDocuments) - // can do Before/After - no links exist in pasted section. - // cannot do Replace + // can do Before/After - no links exist in pasted section so cannot do Replace // 3) 'to' section is 'source' and 'from' section is same docversion 'source' - // can do Before/After/Replace + // can do Before/After (B2024-038 removes replace) + // 4) 'to' section is not 'source' and 'from' section is source + // can do Before/After but not replace - would have to manage + // links for 'from' section (B2024-038 added this case) + SectionConfig secToCfg = iiPasteHere.MyConfig as SectionConfig; SectionConfig secFromCfg = iiClipboard.MyConfig as SectionConfig; @@ -1724,13 +1755,22 @@ namespace Volian.Controls.Library bool secFromIsEnhanced = iiClipboard.IsEnhancedSection; bool secFromIsSource = secFromCfg.MyEnhancedDocuments != null && secFromCfg.MyEnhancedDocuments.Count > 0 && secFromCfg.MyEnhancedDocuments[0].Type != 0; bool secCanPaste = false; - if (!secToIsEnhanced && !secToIsSource && !secFromIsEnhanced && !secFromIsSource) secCanPaste = true; // 1) - else if (secToIsSource && !secFromIsEnhanced && !secFromIsSource) // 2) + if (!secToIsEnhanced && !secToIsSource && !secFromIsEnhanced && !secFromIsSource) secCanPaste = true; // 1) + else if (secToIsSource && !secFromIsEnhanced && !secFromIsSource) // 2) { secCanPaste = true; okToReplace = false; } - else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) secCanPaste = true; // 3) + else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) + { + secCanPaste = true; // 3) + okToReplace = false; + } + else if (!secToIsSource && secFromIsSource) + { + secCanPaste = true; // 4 + okToReplace = false; + } if (iiClipboard.IsRtfRaw) secCanPaste = okToReplace = false; // never paste an equation. if (secCanPaste) cm.MenuItems.Add("Paste Section Before", new EventHandler(mi_Click)); if (okToReplace && secCanPaste) cm.MenuItems.Add("Replace Existing Section", new EventHandler(mi_Click)); @@ -1940,6 +1980,16 @@ namespace Volian.Controls.Library OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode)); return; } + + + + + + + + + + if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") { OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); @@ -2408,6 +2458,7 @@ namespace Volian.Controls.Library } } VETreeNode tn = SelectedNode as VETreeNode; + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; // Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section) if (dvi != null) @@ -2579,6 +2630,7 @@ namespace Volian.Controls.Library // B2018-047: was crashing on the following line (before change it was casting the result to a VETreeNote when the partn.FirstNode was just a TreeNode) SelectedNode = prevtn != null ? prevtn.NextNode : partn.FirstNode; return replItemInfo; + } public void PasteRepalceEmpty(VETreeNode tn, int copyStartID) { @@ -3582,6 +3634,41 @@ namespace Volian.Controls.Library } return false; } + + public void RemoveFolder(int folderId) + { + TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes); + if (nodeToRemove != null) + { + // Perform the removal logic + nodeToRemove.Remove(); // This removes the node from its parent + } + } + private TreeNode FindNodeById(int folderId, TreeNodeCollection nodes) + { + foreach (TreeNode node in nodes) + { + VETreeNode vetNode = node as VETreeNode; + if (vetNode != null) + { + FolderInfo folderInfo = vetNode.VEObject as FolderInfo; + if (folderInfo != null && folderInfo.FolderID == folderId) + { + return node; + } + else + { + TreeNode foundNode = FindNodeById(folderId, node.Nodes); + if (foundNode != null) + { + return foundNode; + } + } + } + } + return null; + } + private bool DeleteItemInfoAndChildren(ItemInfo ii) { DateTime dtStart = DateTime.Now;