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                    |
 | 
					  |                       ADD New Code Before this Block                    |
 | 
				
			||||||
@@ -24264,8 +24297,8 @@ BEGIN TRY -- Try Block
 | 
				
			|||||||
	DECLARE @RevDate varchar(255)
 | 
						DECLARE @RevDate varchar(255)
 | 
				
			||||||
	DECLARE @RevDescription varchar(255)
 | 
						DECLARE @RevDescription varchar(255)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	set @RevDate = '09/04/2025 7:00 AM'
 | 
						set @RevDate = '09/05/2025 7:00 AM'
 | 
				
			||||||
	set @RevDescription = 'Removed stored procedures no longer needed'
 | 
						set @RevDescription = 'Added stored procedure for User Access Control Report'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Select  cast(@RevDate as datetime) RevDate, @RevDescription  RevDescription
 | 
						Select  cast(@RevDate as datetime) RevDate, @RevDescription  RevDescription
 | 
				
			||||||
	PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
 | 
						PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -121,6 +121,10 @@
 | 
				
			|||||||
      <SpecificVersion>False</SpecificVersion>
 | 
					      <SpecificVersion>False</SpecificVersion>
 | 
				
			||||||
      <HintPath>..\..\..\..\3rdPartyLibraries\Log4Net\log4net.dll</HintPath>
 | 
					      <HintPath>..\..\..\..\3rdPartyLibraries\Log4Net\log4net.dll</HintPath>
 | 
				
			||||||
    </Reference>
 | 
					    </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" />
 | 
				
			||||||
    <Reference Include="System.configuration" />
 | 
					    <Reference Include="System.configuration" />
 | 
				
			||||||
    <Reference Include="System.Data">
 | 
					    <Reference Include="System.Data">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,8 @@ using Volian.Controls.Library;
 | 
				
			|||||||
using DevComponents.DotNetBar;
 | 
					using DevComponents.DotNetBar;
 | 
				
			||||||
using JR.Utils.GUI.Forms;
 | 
					using JR.Utils.GUI.Forms;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Data;
 | 
				
			||||||
 | 
					using xls = Microsoft.Office.Interop.Excel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace VEPROMS
 | 
					namespace VEPROMS
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -275,6 +277,13 @@ namespace VEPROMS
 | 
				
			|||||||
			setupProgessSteps1();
 | 
								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
 | 
							// C2017-030 new Tools user interface
 | 
				
			||||||
		private void sideNavItmExit_Click(object sender, EventArgs e)
 | 
							private void sideNavItmExit_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -287,7 +296,8 @@ namespace VEPROMS
 | 
				
			|||||||
		private enum E_GenToolType : int
 | 
							private enum E_GenToolType : int
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			Check = 0,
 | 
								Check = 0,
 | 
				
			||||||
			Users = 3
 | 
								Users = 3,
 | 
				
			||||||
 | 
								Reports = 5
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		private E_GenToolType GenToolType = 0;
 | 
							private E_GenToolType GenToolType = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -314,8 +324,8 @@ namespace VEPROMS
 | 
				
			|||||||
					progressSteps1.Visible = true;
 | 
										progressSteps1.Visible = true;
 | 
				
			||||||
					progressSteps1.Refresh();
 | 
										progressSteps1.Refresh();
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
 | 
					 | 
				
			||||||
				case E_GenToolType.Users:
 | 
									case E_GenToolType.Users:
 | 
				
			||||||
 | 
									case E_GenToolType.Reports:
 | 
				
			||||||
					splitContainer3.Panel2Collapsed = true;
 | 
										splitContainer3.Panel2Collapsed = true;
 | 
				
			||||||
					progressSteps1.Visible = false;
 | 
										progressSteps1.Visible = false;
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
@@ -415,7 +425,133 @@ namespace VEPROMS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			ClearStepProgress();
 | 
								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
 | 
							//C2025-011 RO Update Tool Memory Enhancements
 | 
				
			||||||
		private void txtProcess_TextChanged(object sender, EventArgs e)
 | 
							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.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
 | 
				
			||||||
            this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
 | 
					            this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
 | 
				
			||||||
            this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
 | 
					            this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
 | 
				
			||||||
 | 
					            this.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.sideNavPanel1 = new DevComponents.DotNetBar.Controls.SideNavPanel();
 | 
				
			||||||
            this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
 | 
					            this.warningBox3 = new DevComponents.DotNetBar.Controls.WarningBox();
 | 
				
			||||||
            this.labelX7 = new DevComponents.DotNetBar.LabelX();
 | 
					            this.labelX7 = new DevComponents.DotNetBar.LabelX();
 | 
				
			||||||
@@ -62,12 +65,11 @@
 | 
				
			|||||||
            this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
 | 
					            this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
 | 
				
			||||||
            this.labelX1 = new DevComponents.DotNetBar.LabelX();
 | 
					            this.labelX1 = new DevComponents.DotNetBar.LabelX();
 | 
				
			||||||
            this.btnRunCheck = new DevComponents.DotNetBar.ButtonX();
 | 
					            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.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
				
			||||||
            this.separator1 = new DevComponents.DotNetBar.Separator();
 | 
					            this.separator1 = new DevComponents.DotNetBar.Separator();
 | 
				
			||||||
            this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
					            this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
				
			||||||
            this.sideNavItmUsers = 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.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem();
 | 
				
			||||||
            this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
 | 
					            this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
 | 
				
			||||||
            this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps();
 | 
					            this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps();
 | 
				
			||||||
@@ -78,6 +80,7 @@
 | 
				
			|||||||
            this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX();
 | 
					            this.lblAdmToolProgressType = new DevComponents.DotNetBar.LabelX();
 | 
				
			||||||
            this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem();
 | 
					            this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem();
 | 
				
			||||||
            this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
 | 
					            this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
 | 
				
			||||||
 | 
					            this.btnUAC = new DevComponents.DotNetBar.ButtonX();
 | 
				
			||||||
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
 | 
					            ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
 | 
				
			||||||
            this.splitContainer3.Panel1.SuspendLayout();
 | 
					            this.splitContainer3.Panel1.SuspendLayout();
 | 
				
			||||||
            this.splitContainer3.Panel2.SuspendLayout();
 | 
					            this.splitContainer3.Panel2.SuspendLayout();
 | 
				
			||||||
@@ -89,8 +92,9 @@
 | 
				
			|||||||
            this.pnlLater.SuspendLayout();
 | 
					            this.pnlLater.SuspendLayout();
 | 
				
			||||||
            this.panelEx1.SuspendLayout();
 | 
					            this.panelEx1.SuspendLayout();
 | 
				
			||||||
            this.sideNav1.SuspendLayout();
 | 
					            this.sideNav1.SuspendLayout();
 | 
				
			||||||
            this.sideNavPanel1.SuspendLayout();
 | 
					            this.sideNavPanel6.SuspendLayout();
 | 
				
			||||||
            this.sideNavPanel5.SuspendLayout();
 | 
					            this.sideNavPanel5.SuspendLayout();
 | 
				
			||||||
 | 
					            this.sideNavPanel1.SuspendLayout();
 | 
				
			||||||
            this.panelEx4.SuspendLayout();
 | 
					            this.panelEx4.SuspendLayout();
 | 
				
			||||||
            this.SuspendLayout();
 | 
					            this.SuspendLayout();
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
@@ -416,8 +420,9 @@
 | 
				
			|||||||
            // sideNav1
 | 
					            // sideNav1
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
 | 
					            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.sideNavPanel5);
 | 
				
			||||||
 | 
					            this.sideNav1.Controls.Add(this.sideNavPanel1);
 | 
				
			||||||
            this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
					            this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
				
			||||||
            this.sideNav1.EnableClose = false;
 | 
					            this.sideNav1.EnableClose = false;
 | 
				
			||||||
            this.sideNav1.EnableMaximize = false;
 | 
					            this.sideNav1.EnableMaximize = false;
 | 
				
			||||||
@@ -426,6 +431,7 @@
 | 
				
			|||||||
            this.separator1,
 | 
					            this.separator1,
 | 
				
			||||||
            this.sideNavItmCheck,
 | 
					            this.sideNavItmCheck,
 | 
				
			||||||
            this.sideNavItmUsers,
 | 
					            this.sideNavItmUsers,
 | 
				
			||||||
 | 
					            this.sideNavItmReports,
 | 
				
			||||||
            this.sideNavItmExit});
 | 
					            this.sideNavItmExit});
 | 
				
			||||||
            this.sideNav1.Location = new System.Drawing.Point(0, 0);
 | 
					            this.sideNav1.Location = new System.Drawing.Point(0, 0);
 | 
				
			||||||
            this.sideNav1.Name = "sideNav1";
 | 
					            this.sideNav1.Name = "sideNav1";
 | 
				
			||||||
@@ -434,6 +440,40 @@
 | 
				
			|||||||
            this.sideNav1.TabIndex = 3;
 | 
					            this.sideNav1.TabIndex = 3;
 | 
				
			||||||
            this.sideNav1.Text = "sideNav1";
 | 
					            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
 | 
					            // sideNavPanel1
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.sideNavPanel1.Controls.Add(this.warningBox3);
 | 
					            this.sideNavPanel1.Controls.Add(this.warningBox3);
 | 
				
			||||||
@@ -451,6 +491,7 @@
 | 
				
			|||||||
            this.sideNavPanel1.Name = "sideNavPanel1";
 | 
					            this.sideNavPanel1.Name = "sideNavPanel1";
 | 
				
			||||||
            this.sideNavPanel1.Size = new System.Drawing.Size(292, 493);
 | 
					            this.sideNavPanel1.Size = new System.Drawing.Size(292, 493);
 | 
				
			||||||
            this.sideNavPanel1.TabIndex = 2;
 | 
					            this.sideNavPanel1.TabIndex = 2;
 | 
				
			||||||
 | 
					            this.sideNavPanel1.Visible = false;
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            // warningBox3
 | 
					            // warningBox3
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
@@ -600,31 +641,6 @@
 | 
				
			|||||||
            this.btnRunCheck.Text = "Run Check";
 | 
					            this.btnRunCheck.Text = "Run Check";
 | 
				
			||||||
            this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click);
 | 
					            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
 | 
					            // sideNavItem1
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.sideNavItem1.IsSystemMenu = true;
 | 
					            this.sideNavItem1.IsSystemMenu = true;
 | 
				
			||||||
@@ -644,7 +660,6 @@
 | 
				
			|||||||
            // 
 | 
					            // 
 | 
				
			||||||
            // sideNavItmCheck
 | 
					            // sideNavItmCheck
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.sideNavItmCheck.Checked = true;
 | 
					 | 
				
			||||||
            this.sideNavItmCheck.Name = "sideNavItmCheck";
 | 
					            this.sideNavItmCheck.Name = "sideNavItmCheck";
 | 
				
			||||||
            this.sideNavItmCheck.Panel = this.sideNavPanel1;
 | 
					            this.sideNavItmCheck.Panel = this.sideNavPanel1;
 | 
				
			||||||
            this.sideNavItmCheck.Symbol = "";
 | 
					            this.sideNavItmCheck.Symbol = "";
 | 
				
			||||||
@@ -659,6 +674,15 @@
 | 
				
			|||||||
            this.sideNavItmUsers.Text = "Users";
 | 
					            this.sideNavItmUsers.Text = "Users";
 | 
				
			||||||
            this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click);
 | 
					            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
 | 
					            // sideNavItmExit
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.sideNavItmExit.Name = "sideNavItmExit";
 | 
					            this.sideNavItmExit.Name = "sideNavItmExit";
 | 
				
			||||||
@@ -761,6 +785,20 @@
 | 
				
			|||||||
            this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
 | 
					            this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
 | 
				
			||||||
            this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
 | 
					            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
 | 
					            // frmGenTools
 | 
				
			||||||
            // 
 | 
					            // 
 | 
				
			||||||
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 | 
					            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 | 
				
			||||||
@@ -790,15 +828,16 @@
 | 
				
			|||||||
            this.panelEx1.ResumeLayout(false);
 | 
					            this.panelEx1.ResumeLayout(false);
 | 
				
			||||||
            this.sideNav1.ResumeLayout(false);
 | 
					            this.sideNav1.ResumeLayout(false);
 | 
				
			||||||
            this.sideNav1.PerformLayout();
 | 
					            this.sideNav1.PerformLayout();
 | 
				
			||||||
            this.sideNavPanel1.ResumeLayout(false);
 | 
					            this.sideNavPanel6.ResumeLayout(false);
 | 
				
			||||||
            this.sideNavPanel5.ResumeLayout(false);
 | 
					            this.sideNavPanel5.ResumeLayout(false);
 | 
				
			||||||
 | 
					            this.sideNavPanel1.ResumeLayout(false);
 | 
				
			||||||
            this.panelEx4.ResumeLayout(false);
 | 
					            this.panelEx4.ResumeLayout(false);
 | 
				
			||||||
            this.ResumeLayout(false);
 | 
					            this.ResumeLayout(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		#endregion
 | 
					        #endregion
 | 
				
			||||||
		private System.Windows.Forms.SplitContainer splitContainer3;
 | 
					        private System.Windows.Forms.SplitContainer splitContainer3;
 | 
				
			||||||
		private DevComponents.DotNetBar.PanelEx panelEx3;
 | 
							private DevComponents.DotNetBar.PanelEx panelEx3;
 | 
				
			||||||
		private System.Windows.Forms.TextBox txtResults;
 | 
							private System.Windows.Forms.TextBox txtResults;
 | 
				
			||||||
		private System.Windows.Forms.Panel panel1;
 | 
							private System.Windows.Forms.Panel panel1;
 | 
				
			||||||
@@ -829,11 +868,13 @@
 | 
				
			|||||||
		private DevComponents.DotNetBar.ButtonX btnRunCheck;
 | 
							private DevComponents.DotNetBar.ButtonX btnRunCheck;
 | 
				
			||||||
		private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5;
 | 
							private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel5;
 | 
				
			||||||
		private DevComponents.DotNetBar.ButtonX btn_ShowUsers;
 | 
							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.Separator separator1;
 | 
				
			||||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmCheck;
 | 
							private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmCheck;
 | 
				
			||||||
		private DevComponents.DotNetBar.Controls.SideNavItem sideNavItmUsers;
 | 
							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.LabelX lblAdmToolProgressType;
 | 
				
			||||||
		private DevComponents.DotNetBar.ProgressSteps progressSteps1;
 | 
							private DevComponents.DotNetBar.ProgressSteps progressSteps1;
 | 
				
			||||||
		private DevComponents.DotNetBar.StepItem stepItem1;
 | 
							private DevComponents.DotNetBar.StepItem stepItem1;
 | 
				
			||||||
@@ -847,7 +888,8 @@
 | 
				
			|||||||
		private DevComponents.DotNetBar.PanelEx panelEx4;
 | 
							private DevComponents.DotNetBar.PanelEx panelEx4;
 | 
				
			||||||
		private DevComponents.DotNetBar.Controls.WarningBox warningBox3;
 | 
							private DevComponents.DotNetBar.Controls.WarningBox warningBox3;
 | 
				
			||||||
		private DevComponents.DotNetBar.ButtonItem buttonItem1;
 | 
							private DevComponents.DotNetBar.ButtonItem buttonItem1;
 | 
				
			||||||
	}
 | 
					        private DevComponents.DotNetBar.ButtonX btnUAC;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,6 +117,9 @@
 | 
				
			|||||||
  <resheader name="writer">
 | 
					  <resheader name="writer">
 | 
				
			||||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
					    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
				
			||||||
  </resheader>
 | 
					  </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" />
 | 
					  <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">
 | 
					  <data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
				
			||||||
    <value>
 | 
					    <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\ZTransition.cs" />
 | 
				
			||||||
    <Compile Include="Generated\ZTransitionInfo.cs" />
 | 
					    <Compile Include="Generated\ZTransitionInfo.cs" />
 | 
				
			||||||
    <Compile Include="Minimal\AnnotationstypeSections.cs" />
 | 
					    <Compile Include="Minimal\AnnotationstypeSections.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Minimal\UserReports.cs" />
 | 
				
			||||||
    <Compile Include="Minimal\UserSettings.cs" />
 | 
					    <Compile Include="Minimal\UserSettings.cs" />
 | 
				
			||||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
					    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
				
			||||||
    <Compile Include="VEObjects\VEDrillDown.cs" />
 | 
					    <Compile Include="VEObjects\VEDrillDown.cs" />
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user