Development #612
@@ -24231,6 +24231,39 @@ GO
 | 
			
		||||
==========================================================================================================
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
-- C2025-009 Report for tracking PROMS Users / Security
 | 
			
		||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getUserAcessControl]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
 | 
			
		||||
	DROP PROCEDURE [getUserAcessControl];
 | 
			
		||||
 | 
			
		||||
GO
 | 
			
		||||
 | 
			
		||||
/****** Object:  StoredProcedure [dbo].[getUserAcessControl]    Script Date: 9/5/2025 6:51:42 AM ******/
 | 
			
		||||
 | 
			
		||||
-- =============================================
 | 
			
		||||
-- Author:		Matthew Schill
 | 
			
		||||
-- Create date: 09/05/2025
 | 
			
		||||
-- Description:	Get Data on When Users were added to PROMS and when they were added to Security Groups
 | 
			
		||||
-- =============================================
 | 
			
		||||
CREATE PROCEDURE [dbo].[getUserAcessControl]
 | 
			
		||||
AS
 | 
			
		||||
BEGIN
 | 
			
		||||
	SELECT Users.UserID, 
 | 
			
		||||
		   WhenUserAddedToPROMS = Users.[DTS],
 | 
			
		||||
					   GroupName = Groups.GroupName,
 | 
			
		||||
					   WhenUserAddedToGroup = Memberships.[DTS],
 | 
			
		||||
					   WhoAddedUserToGroup = CASE WHEN 
 | 
			
		||||
									Memberships.UsrID = Users.UsrID
 | 
			
		||||
									AND Users.UsrID = Users.UserID
 | 
			
		||||
									THEN 'INITIAL_SETUP'
 | 
			
		||||
									ELSE Memberships.UsrID END,
 | 
			
		||||
					   DateUserRemovedFromGroup = Memberships.EndDate
 | 
			
		||||
	  FROM Memberships
 | 
			
		||||
	  inner join Groups on Memberships.GID = Groups.GID
 | 
			
		||||
	  right outer join Users on Users.UID = Memberships.UID
 | 
			
		||||
	  order by UserID, Memberships.[DTS]
 | 
			
		||||
	RETURN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  ---------------------------------------------------------------------------
 | 
			
		||||
  |                       ADD New Code Before this Block                    |
 | 
			
		||||
@@ -24264,8 +24297,8 @@ BEGIN TRY -- Try Block
 | 
			
		||||
	DECLARE @RevDate varchar(255)
 | 
			
		||||
	DECLARE @RevDescription varchar(255)
 | 
			
		||||
 | 
			
		||||
	set @RevDate = '09/04/2025 7:00 AM'
 | 
			
		||||
	set @RevDescription = 'Removed stored procedures no longer needed'
 | 
			
		||||
	set @RevDate = '09/05/2025 7:00 AM'
 | 
			
		||||
	set @RevDescription = 'Added stored procedure for User Access Control Report'
 | 
			
		||||
 | 
			
		||||
	Select  cast(@RevDate as datetime) RevDate, @RevDescription  RevDescription
 | 
			
		||||
	PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
 | 
			
		||||
 
 | 
			
		||||
@@ -121,6 +121,10 @@
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\..\..\3rdPartyLibraries\Log4Net\log4net.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Microsoft.CSharp" />
 | 
			
		||||
    <Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
 | 
			
		||||
      <EmbedInteropTypes>True</EmbedInteropTypes>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="System.configuration" />
 | 
			
		||||
    <Reference Include="System.Data">
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,8 @@ using Volian.Controls.Library;
 | 
			
		||||
using DevComponents.DotNetBar;
 | 
			
		||||
using JR.Utils.GUI.Forms;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Data;
 | 
			
		||||
using xls = Microsoft.Office.Interop.Excel;
 | 
			
		||||
 | 
			
		||||
namespace VEPROMS
 | 
			
		||||
{
 | 
			
		||||
@@ -275,6 +277,13 @@ namespace VEPROMS
 | 
			
		||||
			setupProgessSteps1();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		private void sideNavItmReports_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			GenToolType = E_GenToolType.Reports;
 | 
			
		||||
			setupProgessSteps1();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// C2017-030 new Tools user interface
 | 
			
		||||
		private void sideNavItmExit_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
@@ -287,7 +296,8 @@ namespace VEPROMS
 | 
			
		||||
		private enum E_GenToolType : int
 | 
			
		||||
		{
 | 
			
		||||
			Check = 0,
 | 
			
		||||
			Users = 3
 | 
			
		||||
			Users = 3,
 | 
			
		||||
			Reports = 5
 | 
			
		||||
		};
 | 
			
		||||
		private E_GenToolType GenToolType = 0;
 | 
			
		||||
 | 
			
		||||
@@ -314,8 +324,8 @@ namespace VEPROMS
 | 
			
		||||
					progressSteps1.Visible = true;
 | 
			
		||||
					progressSteps1.Refresh();
 | 
			
		||||
					break;
 | 
			
		||||
 | 
			
		||||
				case E_GenToolType.Users:
 | 
			
		||||
				case E_GenToolType.Reports:
 | 
			
		||||
					splitContainer3.Panel2Collapsed = true;
 | 
			
		||||
					progressSteps1.Visible = false;
 | 
			
		||||
					break;
 | 
			
		||||
@@ -415,7 +425,133 @@ namespace VEPROMS
 | 
			
		||||
 | 
			
		||||
			ClearStepProgress();
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		//C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		//UACfilename will hold the filename for cases when scheduled for later
 | 
			
		||||
		private string UACfilename;
 | 
			
		||||
 | 
			
		||||
		//C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		private void btnUAC_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (string.IsNullOrEmpty(UACfilename))
 | 
			
		||||
			{
 | 
			
		||||
				SaveFileDialog sfd = new SaveFileDialog();
 | 
			
		||||
				sfd.Filter = "Excel XLS (*.xlsx)|*.xlsx";
 | 
			
		||||
				sfd.FileName = "UACReport.xlsx";
 | 
			
		||||
				if (sfd.ShowDialog() == DialogResult.OK)
 | 
			
		||||
				{
 | 
			
		||||
					UACfilename = sfd.FileName;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (!CheckProcessLater()) return;  // delay processing if set//B2017-221 Allow the batch dialog to close when waiting to process.
 | 
			
		||||
 | 
			
		||||
			txtProcess.Clear();
 | 
			
		||||
			txtResults.Clear();
 | 
			
		||||
 | 
			
		||||
			if (!string.IsNullOrEmpty(UACfilename))
 | 
			
		||||
			{
 | 
			
		||||
				Generate_UAC_Report(UACfilename);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			UACfilename = null;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		//Get Datatable of results then loop through outputting into excel
 | 
			
		||||
		private void Generate_UAC_Report(string filename)
 | 
			
		||||
		{
 | 
			
		||||
			this.Cursor = Cursors.WaitCursor;
 | 
			
		||||
			DateTime pStart = DateTime.Now;
 | 
			
		||||
			txtProcess.AppendText("Generate User Access Control Report in PROMS");
 | 
			
		||||
			txtProcess.AppendText(Environment.NewLine);
 | 
			
		||||
			txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
 | 
			
		||||
			txtProcess.AppendText(Environment.NewLine);
 | 
			
		||||
			Application.DoEvents();
 | 
			
		||||
			txtResults.Clear();
 | 
			
		||||
			txtResults.AppendText("Generating User Access Control Report");
 | 
			
		||||
 | 
			
		||||
			using (DataTable dt = UserReports.GetUserAccessControlData())
 | 
			
		||||
			{
 | 
			
		||||
                // Start Excel and get Application object.
 | 
			
		||||
                xls.Application excel = new xls.Application
 | 
			
		||||
                {
 | 
			
		||||
                    // Make Excel invisible and disable alerts.
 | 
			
		||||
                    Visible = false,
 | 
			
		||||
                    DisplayAlerts = false
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                // Create a new Workbook.
 | 
			
		||||
                xls.Workbook excelworkBook = excel.Workbooks.Add();
 | 
			
		||||
 | 
			
		||||
				// Create a Worksheet.
 | 
			
		||||
				var workSheet = (xls.Worksheet)excelworkBook.ActiveSheet;
 | 
			
		||||
				workSheet.Name = "UAC Report";
 | 
			
		||||
 | 
			
		||||
				// column headings
 | 
			
		||||
				for (var i = 0; i < dt.Columns.Count; i++)
 | 
			
		||||
				{
 | 
			
		||||
					workSheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// rows
 | 
			
		||||
				for (var i = 0; i < dt.Rows.Count; i++)
 | 
			
		||||
				{
 | 
			
		||||
					for (var j = 0; j < dt.Columns.Count; j++)
 | 
			
		||||
					{
 | 
			
		||||
						workSheet.Cells[i + 2, j + 1] = dt.Rows[i][j];
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				//resize the columns to match the data
 | 
			
		||||
				workSheet.Columns.AutoFit();
 | 
			
		||||
 | 
			
		||||
				//freeze the top row, and highlight those cells
 | 
			
		||||
				workSheet.Application.ActiveWindow.SplitRow = 1;
 | 
			
		||||
				workSheet.Application.ActiveWindow.FreezePanes = true;
 | 
			
		||||
				workSheet.Cells.Range[workSheet.Cells[1, 1], workSheet.Cells[1, dt.Columns.Count]].Interior.Color = xls.XlRgbColor.rgbLightBlue;
 | 
			
		||||
 | 
			
		||||
				//save the excel file
 | 
			
		||||
				excelworkBook.SaveAs(filename);
 | 
			
		||||
				excelworkBook.Close();
 | 
			
		||||
				excel.Quit();
 | 
			
		||||
 | 
			
		||||
				//release any in use com objects
 | 
			
		||||
				releaseObject(workSheet);
 | 
			
		||||
				releaseObject(excelworkBook);
 | 
			
		||||
				releaseObject(excel);
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			DateTime pEnd = DateTime.Now;
 | 
			
		||||
			txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
 | 
			
		||||
			Application.DoEvents();
 | 
			
		||||
			this.Cursor = Cursors.Default;
 | 
			
		||||
			MessageBox.Show("Generate User Access Control Report Completed", "User Access Control Report");
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		//for releasing any Excel com objects still in memory
 | 
			
		||||
		private void releaseObject(object obj)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
				System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
 | 
			
		||||
				obj = null;
 | 
			
		||||
			}
 | 
			
		||||
			catch (Exception ex)
 | 
			
		||||
			{
 | 
			
		||||
				obj = null;
 | 
			
		||||
				MessageBox.Show("Exception Occurred while releasing object " + ex.ToString());
 | 
			
		||||
			}
 | 
			
		||||
			finally
 | 
			
		||||
			{
 | 
			
		||||
				GC.Collect();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2025-011 RO Update Tool Memory Enhancements
 | 
			
		||||
		private void txtProcess_TextChanged(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										114
									
								
								PROMS/VEPROMS User Interface/frmGenTools.designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										114
									
								
								PROMS/VEPROMS User Interface/frmGenTools.designer.cs
									
									
									
										generated
									
									
									
								
							@@ -51,6 +51,9 @@
 | 
			
		||||
            this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
 | 
			
		||||
            this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
 | 
			
		||||
            this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
 | 
			
		||||
            this.sideNavPanel6 = new DevComponents.DotNetBar.Controls.SideNavPanel();
 | 
			
		||||
            this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
 | 
			
		||||
            this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
            this.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel();
 | 
			
		||||
            this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
 | 
			
		||||
            this.labelX7 = new DevComponents.DotNetBar.LabelX();
 | 
			
		||||
@@ -62,12 +65,11 @@
 | 
			
		||||
            this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
 | 
			
		||||
            this.labelX1 = new DevComponents.DotNetBar.LabelX();
 | 
			
		||||
            this.btnRunCheck = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
            this.sideNavPanel5 = new DevComponents.DotNetBar.Controls.SideNavPanel();
 | 
			
		||||
            this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
            this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
			
		||||
            this.separator1 = new DevComponents.DotNetBar.Separator();
 | 
			
		||||
            this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
			
		||||
            this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
			
		||||
            this.sideNavItmReports = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
			
		||||
            this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
			
		||||
            this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
 | 
			
		||||
            this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps();
 | 
			
		||||
@@ -78,6 +80,7 @@
 | 
			
		||||
            this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX();
 | 
			
		||||
            this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem();
 | 
			
		||||
            this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
 | 
			
		||||
            this.btnUAC = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
 | 
			
		||||
            this.splitContainer3.Panel1.SuspendLayout();
 | 
			
		||||
            this.splitContainer3.Panel2.SuspendLayout();
 | 
			
		||||
@@ -89,8 +92,9 @@
 | 
			
		||||
            this.pnlLater.SuspendLayout();
 | 
			
		||||
            this.panelEx1.SuspendLayout();
 | 
			
		||||
            this.sideNav1.SuspendLayout();
 | 
			
		||||
            this.sideNavPanel1.SuspendLayout();
 | 
			
		||||
            this.sideNavPanel6.SuspendLayout();
 | 
			
		||||
            this.sideNavPanel5.SuspendLayout();
 | 
			
		||||
            this.sideNavPanel1.SuspendLayout();
 | 
			
		||||
            this.panelEx4.SuspendLayout();
 | 
			
		||||
            this.SuspendLayout();
 | 
			
		||||
            // 
 | 
			
		||||
@@ -416,8 +420,9 @@
 | 
			
		||||
            // sideNav1
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
 | 
			
		||||
            this.sideNav1.Controls.Add(this.sideNavPanel1);
 | 
			
		||||
            this.sideNav1.Controls.Add(this.sideNavPanel6);
 | 
			
		||||
            this.sideNav1.Controls.Add(this.sideNavPanel5);
 | 
			
		||||
            this.sideNav1.Controls.Add(this.sideNavPanel1);
 | 
			
		||||
            this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.sideNav1.EnableClose = false;
 | 
			
		||||
            this.sideNav1.EnableMaximize = false;
 | 
			
		||||
@@ -426,6 +431,7 @@
 | 
			
		||||
            this.separator1,
 | 
			
		||||
            this.sideNavItmCheck,
 | 
			
		||||
            this.sideNavItmUsers,
 | 
			
		||||
            this.sideNavItmReports,
 | 
			
		||||
            this.sideNavItmExit});
 | 
			
		||||
            this.sideNav1.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
            this.sideNav1.Name = "sideNav1";
 | 
			
		||||
@@ -434,6 +440,40 @@
 | 
			
		||||
            this.sideNav1.TabIndex = 3;
 | 
			
		||||
            this.sideNav1.Text = "sideNav1";
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavPanel6
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavPanel6.Controls.Add(this.btnUAC);
 | 
			
		||||
            this.sideNavPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.sideNavPanel6.Location = new System.Drawing.Point(88, 31);
 | 
			
		||||
            this.sideNavPanel6.Name = "sideNavPanel6";
 | 
			
		||||
            this.sideNavPanel6.Size = new System.Drawing.Size(292, 493);
 | 
			
		||||
            this.sideNavPanel6.TabIndex = 14;
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavPanel5
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavPanel5.Controls.Add(this.btn_ShowUsers);
 | 
			
		||||
            this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.sideNavPanel5.Location = new System.Drawing.Point(88, 31);
 | 
			
		||||
            this.sideNavPanel5.Name = "sideNavPanel5";
 | 
			
		||||
            this.sideNavPanel5.Size = new System.Drawing.Size(292, 493);
 | 
			
		||||
            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);
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavPanel1
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavPanel1.Controls.Add(this.warningBox3);
 | 
			
		||||
@@ -451,6 +491,7 @@
 | 
			
		||||
            this.sideNavPanel1.Name = "sideNavPanel1";
 | 
			
		||||
            this.sideNavPanel1.Size = new System.Drawing.Size(292, 493);
 | 
			
		||||
            this.sideNavPanel1.TabIndex = 2;
 | 
			
		||||
            this.sideNavPanel1.Visible = false;
 | 
			
		||||
            // 
 | 
			
		||||
            // warningBox3
 | 
			
		||||
            // 
 | 
			
		||||
@@ -600,31 +641,6 @@
 | 
			
		||||
            this.btnRunCheck.Text = "Run Check";
 | 
			
		||||
            this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavPanel5
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavPanel5.Controls.Add(this.btn_ShowUsers);
 | 
			
		||||
            this.sideNavPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.sideNavPanel5.Location = new System.Drawing.Point(88, 31);
 | 
			
		||||
            this.sideNavPanel5.Name = "sideNavPanel5";
 | 
			
		||||
            this.sideNavPanel5.Size = new System.Drawing.Size(292, 493);
 | 
			
		||||
            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);
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavItem1
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavItem1.IsSystemMenu = true;
 | 
			
		||||
@@ -644,7 +660,6 @@
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavItmCheck
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavItmCheck.Checked = true;
 | 
			
		||||
            this.sideNavItmCheck.Name = "sideNavItmCheck";
 | 
			
		||||
            this.sideNavItmCheck.Panel = this.sideNavPanel1;
 | 
			
		||||
            this.sideNavItmCheck.Symbol = "";
 | 
			
		||||
@@ -659,6 +674,15 @@
 | 
			
		||||
            this.sideNavItmUsers.Text = "Users";
 | 
			
		||||
            this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavItmReports
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavItmReports.Checked = true;
 | 
			
		||||
            this.sideNavItmReports.Name = "sideNavItmReports";
 | 
			
		||||
            this.sideNavItmReports.Panel = this.sideNavPanel6;
 | 
			
		||||
            this.sideNavItmReports.Symbol = "";
 | 
			
		||||
            this.sideNavItmReports.Text = "Reports";
 | 
			
		||||
            this.sideNavItmReports.Click += new System.EventHandler(this.sideNavItmReports_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // sideNavItmExit
 | 
			
		||||
            // 
 | 
			
		||||
            this.sideNavItmExit.Name = "sideNavItmExit";
 | 
			
		||||
@@ -761,6 +785,20 @@
 | 
			
		||||
            this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
 | 
			
		||||
            this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
 | 
			
		||||
            // 
 | 
			
		||||
            // btnUAC
 | 
			
		||||
            // 
 | 
			
		||||
            this.btnUAC.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
 | 
			
		||||
            this.btnUAC.Checked = true;
 | 
			
		||||
            this.btnUAC.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
 | 
			
		||||
            this.btnUAC.Location = new System.Drawing.Point(35, 30);
 | 
			
		||||
            this.btnUAC.Name = "btnUAC";
 | 
			
		||||
            this.btnUAC.Size = new System.Drawing.Size(187, 23);
 | 
			
		||||
            this.btnUAC.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
 | 
			
		||||
            this.btnUAC.TabIndex = 0;
 | 
			
		||||
            this.btnUAC.Text = "Run User Access Control Report";
 | 
			
		||||
            this.superTooltip1.SetSuperTooltip(this.btnUAC, new DevComponents.DotNetBar.SuperTooltipInfo("UAC Report", "", "This will return a report containing info on when users were added to PROMS and when users were added to specific PROMS security groups.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
 | 
			
		||||
            this.btnUAC.Click += new System.EventHandler(this.btnUAC_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // frmGenTools
 | 
			
		||||
            // 
 | 
			
		||||
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 | 
			
		||||
@@ -790,15 +828,16 @@
 | 
			
		||||
            this.panelEx1.ResumeLayout(false);
 | 
			
		||||
            this.sideNav1.ResumeLayout(false);
 | 
			
		||||
            this.sideNav1.PerformLayout();
 | 
			
		||||
            this.sideNavPanel1.ResumeLayout(false);
 | 
			
		||||
            this.sideNavPanel6.ResumeLayout(false);
 | 
			
		||||
            this.sideNavPanel5.ResumeLayout(false);
 | 
			
		||||
            this.sideNavPanel1.ResumeLayout(false);
 | 
			
		||||
            this.panelEx4.ResumeLayout(false);
 | 
			
		||||
            this.ResumeLayout(false);
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
		private System.Windows.Forms.SplitContainer splitContainer3;
 | 
			
		||||
        #endregion
 | 
			
		||||
        private System.Windows.Forms.SplitContainer splitContainer3;
 | 
			
		||||
		private DevComponents.DotNetBar.PanelEx panelEx3;
 | 
			
		||||
		private System.Windows.Forms.TextBox txtResults;
 | 
			
		||||
		private System.Windows.Forms.Panel panel1;
 | 
			
		||||
@@ -829,11 +868,13 @@
 | 
			
		||||
		private DevComponents.DotNetBar.ButtonX btnRunCheck;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5;
 | 
			
		||||
		private DevComponents.DotNetBar.ButtonX btn_ShowUsers;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItem1;
 | 
			
		||||
        private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel6;
 | 
			
		||||
        private DevComponents.DotNetBar.Controls.SideNavItem sideNavItem1;
 | 
			
		||||
		private DevComponents.DotNetBar.Separator separator1;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmCheck;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmUsers;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit;
 | 
			
		||||
        private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmReports;
 | 
			
		||||
        private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmExit;
 | 
			
		||||
		private DevComponents.DotNetBar.LabelX lblAdmToolProgressType;
 | 
			
		||||
		private DevComponents.DotNetBar.ProgressSteps progressSteps1;
 | 
			
		||||
		private DevComponents.DotNetBar.StepItem stepItem1;
 | 
			
		||||
@@ -847,7 +888,8 @@
 | 
			
		||||
		private DevComponents.DotNetBar.PanelEx panelEx4;
 | 
			
		||||
		private DevComponents.DotNetBar.Controls.WarningBox warningBox3;
 | 
			
		||||
		private DevComponents.DotNetBar.ButtonItem buttonItem1;
 | 
			
		||||
	}
 | 
			
		||||
        private DevComponents.DotNetBar.ButtonX btnUAC;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -117,6 +117,9 @@
 | 
			
		||||
  <resheader name="writer">
 | 
			
		||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>17, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 | 
			
		||||
  <data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								PROMS/VEPROMS.CSLA.Library/Minimal/UserReports.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								PROMS/VEPROMS.CSLA.Library/Minimal/UserReports.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Csla.Data;
 | 
			
		||||
using System.Data;
 | 
			
		||||
using System.Data.SqlClient;
 | 
			
		||||
 | 
			
		||||
//CSM - C2025-009 - Minimal Class for User based Reports
 | 
			
		||||
namespace VEPROMS.CSLA.Library
 | 
			
		||||
{
 | 
			
		||||
    public static class UserReports
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
		#region Get User Reports
 | 
			
		||||
		//CSM - C2025-009 Report for tracking PROMS Users / security
 | 
			
		||||
		public static DataTable GetUserAccessControlData()
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
				{
 | 
			
		||||
					using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
					{
 | 
			
		||||
					cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
					cm.CommandText = "getUserAcessControl";
 | 
			
		||||
					cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						using (SqlDataAdapter da = new SqlDataAdapter(cm))
 | 
			
		||||
						{
 | 
			
		||||
							DataTable dt = new DataTable();
 | 
			
		||||
							da.Fill(dt);
 | 
			
		||||
							return dt;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			catch (Exception ex)
 | 
			
		||||
			{
 | 
			
		||||
				throw new DbCslaException("Error in getUserAcessControl Report: retrieving data failed", ex);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -388,6 +388,7 @@
 | 
			
		||||
    <Compile Include="Generated\ZTransition.cs" />
 | 
			
		||||
    <Compile Include="Generated\ZTransitionInfo.cs" />
 | 
			
		||||
    <Compile Include="Minimal\AnnotationstypeSections.cs" />
 | 
			
		||||
    <Compile Include="Minimal\UserReports.cs" />
 | 
			
		||||
    <Compile Include="Minimal\UserSettings.cs" />
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <Compile Include="VEObjects\VEDrillDown.cs" />
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user