Compare commits
	
		
			23 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 37f5336806 | |||
| ebdc98dfa7 | |||
| f3c8c860f5 | |||
| f7b27142c4 | |||
| 4fc37c54c5 | |||
| 849e1e57dd | |||
| c768ca5eba | |||
| c9516d90e9 | |||
| 327aae687a | |||
| 3cbe4617eb | |||
| de69fe6b6f | |||
| e53101dacb | |||
| d3ec749848 | |||
| 410b7d3dd6 | |||
| e87b233713 | |||
| ca38ecb1cf | |||
| 5dfa70dc10 | |||
| ff3daff15a | |||
| 7b7f235354 | |||
| 779c6247cd | |||
| fcaffa8c5f | |||
| d2ffcc903a | |||
| 1d12c97e30 | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1099,7 +1099,9 @@ namespace VEPROMS
 | 
				
			|||||||
					(int)changeBarData.FixedChangeColumn :
 | 
										(int)changeBarData.FixedChangeColumn :
 | 
				
			||||||
					System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]);
 | 
										System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]);
 | 
				
			||||||
				//cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn;
 | 
									//cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn;
 | 
				
			||||||
				if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
 | 
									if (cbd.MyChangeBarText == PrintChangeBarText.UserDef && !string.IsNullOrEmpty(ppTxbxChangeBarUserMsgOne.Text))
 | 
				
			||||||
 | 
										cbd.MyChangeBarMessage = ppTxbxChangeBarUserMsgOne.Text + @"\n" + ppTxbxChangeBarUserMsgTwo.Text;
 | 
				
			||||||
 | 
									else if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
 | 
				
			||||||
					cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2;
 | 
										cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,328 +28,416 @@ namespace VEPROMS
 | 
				
			|||||||
		/// </summary>
 | 
							/// </summary>
 | 
				
			||||||
		private void InitializeComponent()
 | 
							private void InitializeComponent()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			this.components = new System.ComponentModel.Container();
 | 
					            this.components = new System.ComponentModel.Container();
 | 
				
			||||||
			this.tcSecurity = new System.Windows.Forms.TabControl();
 | 
					            this.tcSecurity = new System.Windows.Forms.TabControl();
 | 
				
			||||||
			this.tpGroupUsers = new System.Windows.Forms.TabPage();
 | 
					            this.tpManageFolders = new System.Windows.Forms.TabPage();
 | 
				
			||||||
			this.pnlMembers = new System.Windows.Forms.Panel();
 | 
					            this.label6 = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.lstMembers = new System.Windows.Forms.ListBox();
 | 
					            this.tvFolders = new System.Windows.Forms.TreeView();
 | 
				
			||||||
			this.lblMembers = new System.Windows.Forms.Label();
 | 
					            this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
				
			||||||
			this.label6 = new System.Windows.Forms.Label();
 | 
					            this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.tvFolders = new System.Windows.Forms.TreeView();
 | 
					            this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
					            this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.tpManageGroups = new System.Windows.Forms.TabPage();
 | 
				
			||||||
			this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.btnAddMember = new System.Windows.Forms.Button();
 | 
				
			||||||
			this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.btnRemoveMember = new System.Windows.Forms.Button();
 | 
				
			||||||
			this.lstUsers = new System.Windows.Forms.ListBox();
 | 
					            this.label1 = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.label5 = new System.Windows.Forms.Label();
 | 
					            this.lbNonMembers = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.label3 = new System.Windows.Forms.Label();
 | 
					            this.btnDeleteGroup = new System.Windows.Forms.Button();
 | 
				
			||||||
			this.lstGroups = new System.Windows.Forms.ListBox();
 | 
					            this.cbGroupSelection = new System.Windows.Forms.ComboBox();
 | 
				
			||||||
			this.tpDefault = new System.Windows.Forms.TabPage();
 | 
					            this.lstNonMembers = new System.Windows.Forms.ListBox();
 | 
				
			||||||
			this.label8 = new System.Windows.Forms.Label();
 | 
					            this.pnlMembers = new System.Windows.Forms.Panel();
 | 
				
			||||||
			this.pnlGroups = new System.Windows.Forms.Panel();
 | 
					            this.lstMembers = new System.Windows.Forms.ListBox();
 | 
				
			||||||
			this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
					            this.lblMembers = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.label3 = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
					            this.tpManageUsers = new System.Windows.Forms.TabPage();
 | 
				
			||||||
			this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.lblUserGroups = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.lstGroups = new System.Windows.Forms.ListBox();
 | 
				
			||||||
			this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.lstUsers = new System.Windows.Forms.ListBox();
 | 
				
			||||||
			this.addMemberToolStripMenuItemUser = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.lblUsers = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.cmGroups = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
					            this.tpDefault = new System.Windows.Forms.TabPage();
 | 
				
			||||||
			this.deleteGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.label8 = new System.Windows.Forms.Label();
 | 
				
			||||||
			this.addMemberToolStripMenuItemGroup = new System.Windows.Forms.ToolStripMenuItem();
 | 
					            this.pnlGroups = new System.Windows.Forms.Panel();
 | 
				
			||||||
			this.tcSecurity.SuspendLayout();
 | 
					            this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
				
			||||||
			this.tpGroupUsers.SuspendLayout();
 | 
					            this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.pnlMembers.SuspendLayout();
 | 
					            this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
				
			||||||
			this.cmFolders.SuspendLayout();
 | 
					            this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.tpDefault.SuspendLayout();
 | 
					            this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.cmMembers.SuspendLayout();
 | 
					            this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
				
			||||||
			this.cmUsers.SuspendLayout();
 | 
					            this.tt = new System.Windows.Forms.ToolTip(this.components);
 | 
				
			||||||
			this.cmGroups.SuspendLayout();
 | 
					            this.tcSecurity.SuspendLayout();
 | 
				
			||||||
			this.SuspendLayout();
 | 
					            this.tpManageFolders.SuspendLayout();
 | 
				
			||||||
			// 
 | 
					            this.cmFolders.SuspendLayout();
 | 
				
			||||||
			// tcSecurity
 | 
					            this.tpManageGroups.SuspendLayout();
 | 
				
			||||||
			// 
 | 
					            this.pnlMembers.SuspendLayout();
 | 
				
			||||||
			this.tcSecurity.Controls.Add(this.tpGroupUsers);
 | 
					            this.tpManageUsers.SuspendLayout();
 | 
				
			||||||
			this.tcSecurity.Controls.Add(this.tpDefault);
 | 
					            this.tpDefault.SuspendLayout();
 | 
				
			||||||
			this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
					            this.cmUsers.SuspendLayout();
 | 
				
			||||||
			this.tcSecurity.Location = new System.Drawing.Point(0, 0);
 | 
					            this.SuspendLayout();
 | 
				
			||||||
			this.tcSecurity.Name = "tcSecurity";
 | 
					            // 
 | 
				
			||||||
			this.tcSecurity.SelectedIndex = 0;
 | 
					            // tcSecurity
 | 
				
			||||||
			this.tcSecurity.Size = new System.Drawing.Size(784, 564);
 | 
					            // 
 | 
				
			||||||
			this.tcSecurity.TabIndex = 0;
 | 
					            this.tcSecurity.Controls.Add(this.tpManageFolders);
 | 
				
			||||||
			// 
 | 
					            this.tcSecurity.Controls.Add(this.tpManageGroups);
 | 
				
			||||||
			// tpGroupUsers
 | 
					            this.tcSecurity.Controls.Add(this.tpManageUsers);
 | 
				
			||||||
			// 
 | 
					            this.tcSecurity.Controls.Add(this.tpDefault);
 | 
				
			||||||
			this.tpGroupUsers.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
					            this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.pnlMembers);
 | 
					            this.tcSecurity.Location = new System.Drawing.Point(0, 0);
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.label6);
 | 
					            this.tcSecurity.Name = "tcSecurity";
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.tvFolders);
 | 
					            this.tcSecurity.SelectedIndex = 0;
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.lstUsers);
 | 
					            this.tcSecurity.Size = new System.Drawing.Size(784, 564);
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.label5);
 | 
					            this.tcSecurity.TabIndex = 0;
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.label3);
 | 
					            this.tcSecurity.SelectedIndexChanged += new System.EventHandler(this.changedTab);
 | 
				
			||||||
			this.tpGroupUsers.Controls.Add(this.lstGroups);
 | 
					            // 
 | 
				
			||||||
			this.tpGroupUsers.Location = new System.Drawing.Point(4, 22);
 | 
					            // tpManageFolders
 | 
				
			||||||
			this.tpGroupUsers.Name = "tpGroupUsers";
 | 
					            // 
 | 
				
			||||||
			this.tpGroupUsers.Padding = new System.Windows.Forms.Padding(3);
 | 
					            this.tpManageFolders.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
				
			||||||
			this.tpGroupUsers.Size = new System.Drawing.Size(776, 538);
 | 
					            this.tpManageFolders.Controls.Add(this.label6);
 | 
				
			||||||
			this.tpGroupUsers.TabIndex = 2;
 | 
					            this.tpManageFolders.Controls.Add(this.tvFolders);
 | 
				
			||||||
			this.tpGroupUsers.Text = "Folders, Groups and Users";
 | 
					            this.tpManageFolders.Location = new System.Drawing.Point(4, 22);
 | 
				
			||||||
			// 
 | 
					            this.tpManageFolders.Name = "tpManageFolders";
 | 
				
			||||||
			// pnlMembers
 | 
					            this.tpManageFolders.Padding = new System.Windows.Forms.Padding(3);
 | 
				
			||||||
			// 
 | 
					            this.tpManageFolders.Size = new System.Drawing.Size(776, 538);
 | 
				
			||||||
			this.pnlMembers.Controls.Add(this.lstMembers);
 | 
					            this.tpManageFolders.TabIndex = 2;
 | 
				
			||||||
			this.pnlMembers.Controls.Add(this.lblMembers);
 | 
					            this.tpManageFolders.Text = "Manage Folders / Add Groups";
 | 
				
			||||||
			this.pnlMembers.Location = new System.Drawing.Point(384, 304);
 | 
					            // 
 | 
				
			||||||
			this.pnlMembers.Name = "pnlMembers";
 | 
					            // label6
 | 
				
			||||||
			this.pnlMembers.Size = new System.Drawing.Size(386, 232);
 | 
					            // 
 | 
				
			||||||
			this.pnlMembers.TabIndex = 12;
 | 
					            this.label6.AutoSize = true;
 | 
				
			||||||
			// 
 | 
					            this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
				
			||||||
			// lstMembers
 | 
					            this.label6.Location = new System.Drawing.Point(8, 5);
 | 
				
			||||||
			// 
 | 
					            this.label6.Name = "label6";
 | 
				
			||||||
			this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
					            this.label6.Size = new System.Drawing.Size(55, 15);
 | 
				
			||||||
			this.lstMembers.FormattingEnabled = true;
 | 
					            this.label6.TabIndex = 7;
 | 
				
			||||||
			this.lstMembers.Location = new System.Drawing.Point(0, 19);
 | 
					            this.label6.Text = "Folders";
 | 
				
			||||||
			this.lstMembers.Name = "lstMembers";
 | 
					            // 
 | 
				
			||||||
			this.lstMembers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
					            // tvFolders
 | 
				
			||||||
			this.lstMembers.Size = new System.Drawing.Size(386, 212);
 | 
					            // 
 | 
				
			||||||
			this.lstMembers.TabIndex = 10;
 | 
					            this.tvFolders.ContextMenuStrip = this.cmFolders;
 | 
				
			||||||
			this.lstMembers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstMembers_MouseUp);
 | 
					            this.tvFolders.Dock = System.Windows.Forms.DockStyle.Bottom;
 | 
				
			||||||
			// 
 | 
					            this.tvFolders.HideSelection = false;
 | 
				
			||||||
			// lblMembers
 | 
					            this.tvFolders.Location = new System.Drawing.Point(3, 32);
 | 
				
			||||||
			// 
 | 
					            this.tvFolders.Name = "tvFolders";
 | 
				
			||||||
			this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
 | 
					            this.tvFolders.Size = new System.Drawing.Size(770, 503);
 | 
				
			||||||
			this.lblMembers.Location = new System.Drawing.Point(0, 0);
 | 
					            this.tvFolders.TabIndex = 6;
 | 
				
			||||||
			this.lblMembers.Name = "lblMembers";
 | 
					            this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
 | 
				
			||||||
			this.lblMembers.Size = new System.Drawing.Size(386, 19);
 | 
					            // 
 | 
				
			||||||
			this.lblMembers.TabIndex = 2;
 | 
					            // cmFolders
 | 
				
			||||||
			this.lblMembers.Text = "Members";
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
				
			||||||
			// label6
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			this.label6.AutoSize = true;
 | 
					 | 
				
			||||||
			this.label6.Location = new System.Drawing.Point(8, 5);
 | 
					 | 
				
			||||||
			this.label6.Name = "label6";
 | 
					 | 
				
			||||||
			this.label6.Size = new System.Drawing.Size(41, 13);
 | 
					 | 
				
			||||||
			this.label6.TabIndex = 7;
 | 
					 | 
				
			||||||
			this.label6.Text = "Folders";
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			// tvFolders
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			this.tvFolders.ContextMenuStrip = this.cmFolders;
 | 
					 | 
				
			||||||
			this.tvFolders.HideSelection = false;
 | 
					 | 
				
			||||||
			this.tvFolders.Location = new System.Drawing.Point(8, 21);
 | 
					 | 
				
			||||||
			this.tvFolders.Name = "tvFolders";
 | 
					 | 
				
			||||||
			this.tvFolders.Size = new System.Drawing.Size(370, 511);
 | 
					 | 
				
			||||||
			this.tvFolders.TabIndex = 6;
 | 
					 | 
				
			||||||
			this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			// cmFolders
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
					 | 
				
			||||||
            this.createSetAdministratorGroupToolStripMenuItem,
 | 
					            this.createSetAdministratorGroupToolStripMenuItem,
 | 
				
			||||||
            this.createWriterGroupToolStripMenuItem,
 | 
					            this.createWriterGroupToolStripMenuItem,
 | 
				
			||||||
            this.createROEToolStripMenuItem,
 | 
					            this.createROEToolStripMenuItem,
 | 
				
			||||||
            this.createReviewerGroupToolStripMenuItem});
 | 
					            this.createReviewerGroupToolStripMenuItem});
 | 
				
			||||||
			this.cmFolders.Name = "cmFolders";
 | 
					            this.cmFolders.Name = "cmFolders";
 | 
				
			||||||
			this.cmFolders.Size = new System.Drawing.Size(249, 92);
 | 
					            this.cmFolders.Size = new System.Drawing.Size(249, 92);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			// createSetAdministratorGroupToolStripMenuItem
 | 
					            // createSetAdministratorGroupToolStripMenuItem
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem";
 | 
					            this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem";
 | 
				
			||||||
			this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
					            this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
				
			||||||
			this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group";
 | 
					            this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group";
 | 
				
			||||||
			this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
					            this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			// createWriterGroupToolStripMenuItem
 | 
					            // createWriterGroupToolStripMenuItem
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem";
 | 
					            this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem";
 | 
				
			||||||
			this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
					            this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
				
			||||||
			this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group";
 | 
					            this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group";
 | 
				
			||||||
			this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
					            this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			// createROEToolStripMenuItem
 | 
					            // createROEToolStripMenuItem
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem";
 | 
					            this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem";
 | 
				
			||||||
			this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
					            this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
				
			||||||
			this.createROEToolStripMenuItem.Text = "Create a RO Editor Group";
 | 
					            this.createROEToolStripMenuItem.Text = "Create a RO Editor Group";
 | 
				
			||||||
			this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
					            this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			// createReviewerGroupToolStripMenuItem
 | 
					            // createReviewerGroupToolStripMenuItem
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem";
 | 
					            this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem";
 | 
				
			||||||
			this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
					            this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
				
			||||||
			this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group";
 | 
					            this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group";
 | 
				
			||||||
			this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
					            this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			// lstUsers
 | 
					            // tpManageGroups
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 | 
					            this.tpManageGroups.Controls.Add(this.btnAddMember);
 | 
				
			||||||
									| System.Windows.Forms.AnchorStyles.Left)));
 | 
					            this.tpManageGroups.Controls.Add(this.btnRemoveMember);
 | 
				
			||||||
			this.lstUsers.FormattingEnabled = true;
 | 
					            this.tpManageGroups.Controls.Add(this.label1);
 | 
				
			||||||
			this.lstUsers.Location = new System.Drawing.Point(630, 21);
 | 
					            this.tpManageGroups.Controls.Add(this.lbNonMembers);
 | 
				
			||||||
			this.lstUsers.Name = "lstUsers";
 | 
					            this.tpManageGroups.Controls.Add(this.btnDeleteGroup);
 | 
				
			||||||
			this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
					            this.tpManageGroups.Controls.Add(this.cbGroupSelection);
 | 
				
			||||||
			this.lstUsers.Size = new System.Drawing.Size(140, 277);
 | 
					            this.tpManageGroups.Controls.Add(this.lstNonMembers);
 | 
				
			||||||
			this.lstUsers.TabIndex = 5;
 | 
					            this.tpManageGroups.Controls.Add(this.pnlMembers);
 | 
				
			||||||
			this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
 | 
					            this.tpManageGroups.Controls.Add(this.label3);
 | 
				
			||||||
			this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
 | 
					            this.tpManageGroups.Location = new System.Drawing.Point(4, 22);
 | 
				
			||||||
			// 
 | 
					            this.tpManageGroups.Name = "tpManageGroups";
 | 
				
			||||||
			// label5
 | 
					            this.tpManageGroups.Padding = new System.Windows.Forms.Padding(3);
 | 
				
			||||||
			// 
 | 
					            this.tpManageGroups.Size = new System.Drawing.Size(776, 538);
 | 
				
			||||||
			this.label5.AutoSize = true;
 | 
					            this.tpManageGroups.TabIndex = 3;
 | 
				
			||||||
			this.label5.Location = new System.Drawing.Point(630, 6);
 | 
					            this.tpManageGroups.Text = "Manage Groups";
 | 
				
			||||||
			this.label5.Name = "label5";
 | 
					            this.tpManageGroups.UseVisualStyleBackColor = true;
 | 
				
			||||||
			this.label5.Size = new System.Drawing.Size(34, 13);
 | 
					            // 
 | 
				
			||||||
			this.label5.TabIndex = 4;
 | 
					            // btnAddMember
 | 
				
			||||||
			this.label5.Text = "Users";
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.btnAddMember.Location = new System.Drawing.Point(337, 190);
 | 
				
			||||||
			// label3
 | 
					            this.btnAddMember.Name = "btnAddMember";
 | 
				
			||||||
			// 
 | 
					            this.btnAddMember.Size = new System.Drawing.Size(36, 29);
 | 
				
			||||||
			this.label3.AutoSize = true;
 | 
					            this.btnAddMember.TabIndex = 19;
 | 
				
			||||||
			this.label3.Location = new System.Drawing.Point(381, 6);
 | 
					            this.btnAddMember.Text = "<<";
 | 
				
			||||||
			this.label3.Name = "label3";
 | 
					            this.tt.SetToolTip(this.btnAddMember, "Add User as Members of Group");
 | 
				
			||||||
			this.label3.Size = new System.Drawing.Size(41, 13);
 | 
					            this.btnAddMember.UseVisualStyleBackColor = true;
 | 
				
			||||||
			this.label3.TabIndex = 1;
 | 
					            this.btnAddMember.Click += new System.EventHandler(this.addMember_Click);
 | 
				
			||||||
			this.label3.Text = "Groups";
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // btnRemoveMember
 | 
				
			||||||
			// lstGroups
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.btnRemoveMember.Location = new System.Drawing.Point(337, 254);
 | 
				
			||||||
			this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 | 
					            this.btnRemoveMember.Name = "btnRemoveMember";
 | 
				
			||||||
									| System.Windows.Forms.AnchorStyles.Left)));
 | 
					            this.btnRemoveMember.Size = new System.Drawing.Size(36, 29);
 | 
				
			||||||
			this.lstGroups.FormattingEnabled = true;
 | 
					            this.btnRemoveMember.TabIndex = 18;
 | 
				
			||||||
			this.lstGroups.Location = new System.Drawing.Point(384, 21);
 | 
					            this.btnRemoveMember.Text = ">>";
 | 
				
			||||||
			this.lstGroups.Name = "lstGroups";
 | 
					            this.tt.SetToolTip(this.btnRemoveMember, "Remove User From Group");
 | 
				
			||||||
			this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
					            this.btnRemoveMember.UseVisualStyleBackColor = true;
 | 
				
			||||||
			this.lstGroups.Size = new System.Drawing.Size(240, 277);
 | 
					            this.btnRemoveMember.Click += new System.EventHandler(this.removeMember_Click);
 | 
				
			||||||
			this.lstGroups.TabIndex = 0;
 | 
					            // 
 | 
				
			||||||
			this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
 | 
					            // label1
 | 
				
			||||||
			this.lstGroups.SelectedIndexChanged += new System.EventHandler(this.lstGroups_SelectedIndexChanged);
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.label1.AutoSize = true;
 | 
				
			||||||
			// tpDefault
 | 
					            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
				
			||||||
			// 
 | 
					            this.label1.Location = new System.Drawing.Point(386, 42);
 | 
				
			||||||
			this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
					            this.label1.Name = "label1";
 | 
				
			||||||
			this.tpDefault.Controls.Add(this.label8);
 | 
					            this.label1.Size = new System.Drawing.Size(97, 15);
 | 
				
			||||||
			this.tpDefault.Controls.Add(this.pnlGroups);
 | 
					            this.label1.TabIndex = 17;
 | 
				
			||||||
			this.tpDefault.Location = new System.Drawing.Point(4, 22);
 | 
					            this.label1.Text = "Non Members";
 | 
				
			||||||
			this.tpDefault.Name = "tpDefault";
 | 
					            // 
 | 
				
			||||||
			this.tpDefault.Padding = new System.Windows.Forms.Padding(3);
 | 
					            // lbNonMembers
 | 
				
			||||||
			this.tpDefault.Size = new System.Drawing.Size(776, 538);
 | 
					            // 
 | 
				
			||||||
			this.tpDefault.TabIndex = 0;
 | 
					            this.lbNonMembers.AutoSize = true;
 | 
				
			||||||
			this.tpDefault.Text = "Default Group";
 | 
					            this.lbNonMembers.Location = new System.Drawing.Point(386, 42);
 | 
				
			||||||
			// 
 | 
					            this.lbNonMembers.Name = "lbNonMembers";
 | 
				
			||||||
			// label8
 | 
					            this.lbNonMembers.Size = new System.Drawing.Size(73, 13);
 | 
				
			||||||
			// 
 | 
					            this.lbNonMembers.TabIndex = 17;
 | 
				
			||||||
			this.label8.Location = new System.Drawing.Point(308, 6);
 | 
					            this.lbNonMembers.Text = "Non Members";
 | 
				
			||||||
			this.label8.Name = "label8";
 | 
					            // 
 | 
				
			||||||
			this.label8.Size = new System.Drawing.Size(460, 172);
 | 
					            // btnDeleteGroup
 | 
				
			||||||
			this.label8.TabIndex = 5;
 | 
					            // 
 | 
				
			||||||
			this.label8.Text = "label8";
 | 
					            this.btnDeleteGroup.ForeColor = System.Drawing.Color.Red;
 | 
				
			||||||
			// 
 | 
					            this.btnDeleteGroup.Location = new System.Drawing.Point(668, 12);
 | 
				
			||||||
			// pnlGroups
 | 
					            this.btnDeleteGroup.Name = "btnDeleteGroup";
 | 
				
			||||||
			// 
 | 
					            this.btnDeleteGroup.Size = new System.Drawing.Size(89, 23);
 | 
				
			||||||
			this.pnlGroups.AutoScroll = true;
 | 
					            this.btnDeleteGroup.TabIndex = 16;
 | 
				
			||||||
			this.pnlGroups.Location = new System.Drawing.Point(3, 6);
 | 
					            this.btnDeleteGroup.Text = "Delete Group";
 | 
				
			||||||
			this.pnlGroups.Name = "pnlGroups";
 | 
					            this.btnDeleteGroup.UseVisualStyleBackColor = true;
 | 
				
			||||||
			this.pnlGroups.Size = new System.Drawing.Size(299, 526);
 | 
					            this.btnDeleteGroup.Click += new System.EventHandler(this.deleteGroup_Click);
 | 
				
			||||||
			this.pnlGroups.TabIndex = 4;
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // cbGroupSelection
 | 
				
			||||||
			// cmMembers
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.cbGroupSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
				
			||||||
			this.cmMembers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
					            this.cbGroupSelection.FormattingEnabled = true;
 | 
				
			||||||
            this.removeMemberToolStripMenuItem});
 | 
					            this.cbGroupSelection.Location = new System.Drawing.Point(50, 9);
 | 
				
			||||||
			this.cmMembers.Name = "cmGroupMembers";
 | 
					            this.cbGroupSelection.Name = "cbGroupSelection";
 | 
				
			||||||
			this.cmMembers.Size = new System.Drawing.Size(166, 26);
 | 
					            this.cbGroupSelection.Size = new System.Drawing.Size(272, 21);
 | 
				
			||||||
			// 
 | 
					            this.cbGroupSelection.TabIndex = 15;
 | 
				
			||||||
			// removeMemberToolStripMenuItem
 | 
					            this.cbGroupSelection.SelectedIndexChanged += new System.EventHandler(this.cbGroupSelection_SelectedIndexChanged);
 | 
				
			||||||
			// 
 | 
					            // 
 | 
				
			||||||
			this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem";
 | 
					            // lstNonMembers
 | 
				
			||||||
			this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22);
 | 
					            // 
 | 
				
			||||||
			this.removeMemberToolStripMenuItem.Text = "Remove Member";
 | 
					            this.lstNonMembers.FormattingEnabled = true;
 | 
				
			||||||
			this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click);
 | 
					            this.lstNonMembers.Location = new System.Drawing.Point(389, 61);
 | 
				
			||||||
			// 
 | 
					            this.lstNonMembers.Name = "lstNonMembers";
 | 
				
			||||||
			// cmUsers
 | 
					            this.lstNonMembers.Size = new System.Drawing.Size(316, 472);
 | 
				
			||||||
			// 
 | 
					            this.lstNonMembers.TabIndex = 14;
 | 
				
			||||||
			this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
					            // 
 | 
				
			||||||
 | 
					            // pnlMembers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.pnlMembers.Controls.Add(this.lstMembers);
 | 
				
			||||||
 | 
					            this.pnlMembers.Controls.Add(this.lblMembers);
 | 
				
			||||||
 | 
					            this.pnlMembers.Location = new System.Drawing.Point(6, 42);
 | 
				
			||||||
 | 
					            this.pnlMembers.Name = "pnlMembers";
 | 
				
			||||||
 | 
					            this.pnlMembers.Size = new System.Drawing.Size(316, 493);
 | 
				
			||||||
 | 
					            this.pnlMembers.TabIndex = 13;
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lstMembers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
				
			||||||
 | 
					            this.lstMembers.FormattingEnabled = true;
 | 
				
			||||||
 | 
					            this.lstMembers.Location = new System.Drawing.Point(0, 19);
 | 
				
			||||||
 | 
					            this.lstMembers.Name = "lstMembers";
 | 
				
			||||||
 | 
					            this.lstMembers.Size = new System.Drawing.Size(316, 474);
 | 
				
			||||||
 | 
					            this.lstMembers.TabIndex = 10;
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lblMembers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
 | 
				
			||||||
 | 
					            this.lblMembers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
				
			||||||
 | 
					            this.lblMembers.Location = new System.Drawing.Point(0, 0);
 | 
				
			||||||
 | 
					            this.lblMembers.Name = "lblMembers";
 | 
				
			||||||
 | 
					            this.lblMembers.Size = new System.Drawing.Size(316, 19);
 | 
				
			||||||
 | 
					            this.lblMembers.TabIndex = 2;
 | 
				
			||||||
 | 
					            this.lblMembers.Text = "Selected Group Users";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // label3
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.label3.AutoSize = true;
 | 
				
			||||||
 | 
					            this.label3.Location = new System.Drawing.Point(3, 12);
 | 
				
			||||||
 | 
					            this.label3.Name = "label3";
 | 
				
			||||||
 | 
					            this.label3.Size = new System.Drawing.Size(39, 13);
 | 
				
			||||||
 | 
					            this.label3.TabIndex = 3;
 | 
				
			||||||
 | 
					            this.label3.Text = "Group:";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // tpManageUsers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.tpManageUsers.Controls.Add(this.lblUserGroups);
 | 
				
			||||||
 | 
					            this.tpManageUsers.Controls.Add(this.lstGroups);
 | 
				
			||||||
 | 
					            this.tpManageUsers.Controls.Add(this.lstUsers);
 | 
				
			||||||
 | 
					            this.tpManageUsers.Controls.Add(this.lblUsers);
 | 
				
			||||||
 | 
					            this.tpManageUsers.Location = new System.Drawing.Point(4, 22);
 | 
				
			||||||
 | 
					            this.tpManageUsers.Name = "tpManageUsers";
 | 
				
			||||||
 | 
					            this.tpManageUsers.Size = new System.Drawing.Size(776, 538);
 | 
				
			||||||
 | 
					            this.tpManageUsers.TabIndex = 4;
 | 
				
			||||||
 | 
					            this.tpManageUsers.Text = "Manage Users";
 | 
				
			||||||
 | 
					            this.tpManageUsers.UseVisualStyleBackColor = true;
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lblUserGroups
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lblUserGroups.AutoSize = true;
 | 
				
			||||||
 | 
					            this.lblUserGroups.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
				
			||||||
 | 
					            this.lblUserGroups.Location = new System.Drawing.Point(268, 11);
 | 
				
			||||||
 | 
					            this.lblUserGroups.Name = "lblUserGroups";
 | 
				
			||||||
 | 
					            this.lblUserGroups.Size = new System.Drawing.Size(225, 15);
 | 
				
			||||||
 | 
					            this.lblUserGroups.TabIndex = 9;
 | 
				
			||||||
 | 
					            this.lblUserGroups.Text = "Groups That User Is a Member Of:";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lstGroups
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 | 
				
			||||||
 | 
					            | System.Windows.Forms.AnchorStyles.Left)));
 | 
				
			||||||
 | 
					            this.lstGroups.FormattingEnabled = true;
 | 
				
			||||||
 | 
					            this.lstGroups.Location = new System.Drawing.Point(271, 36);
 | 
				
			||||||
 | 
					            this.lstGroups.Name = "lstGroups";
 | 
				
			||||||
 | 
					            this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
				
			||||||
 | 
					            this.lstGroups.Size = new System.Drawing.Size(502, 498);
 | 
				
			||||||
 | 
					            this.lstGroups.TabIndex = 8;
 | 
				
			||||||
 | 
					            this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lstUsers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 | 
				
			||||||
 | 
					            | System.Windows.Forms.AnchorStyles.Left)));
 | 
				
			||||||
 | 
					            this.lstUsers.FormattingEnabled = true;
 | 
				
			||||||
 | 
					            this.lstUsers.Location = new System.Drawing.Point(8, 36);
 | 
				
			||||||
 | 
					            this.lstUsers.Name = "lstUsers";
 | 
				
			||||||
 | 
					            this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
				
			||||||
 | 
					            this.lstUsers.Size = new System.Drawing.Size(217, 498);
 | 
				
			||||||
 | 
					            this.lstUsers.TabIndex = 7;
 | 
				
			||||||
 | 
					            this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
 | 
				
			||||||
 | 
					            this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // lblUsers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.lblUsers.AutoSize = true;
 | 
				
			||||||
 | 
					            this.lblUsers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
				
			||||||
 | 
					            this.lblUsers.Location = new System.Drawing.Point(8, 11);
 | 
				
			||||||
 | 
					            this.lblUsers.Name = "lblUsers";
 | 
				
			||||||
 | 
					            this.lblUsers.Size = new System.Drawing.Size(44, 15);
 | 
				
			||||||
 | 
					            this.lblUsers.TabIndex = 6;
 | 
				
			||||||
 | 
					            this.lblUsers.Text = "Users";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // tpDefault
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
				
			||||||
 | 
					            this.tpDefault.Controls.Add(this.label8);
 | 
				
			||||||
 | 
					            this.tpDefault.Controls.Add(this.pnlGroups);
 | 
				
			||||||
 | 
					            this.tpDefault.Location = new System.Drawing.Point(4, 22);
 | 
				
			||||||
 | 
					            this.tpDefault.Name = "tpDefault";
 | 
				
			||||||
 | 
					            this.tpDefault.Padding = new System.Windows.Forms.Padding(3);
 | 
				
			||||||
 | 
					            this.tpDefault.Size = new System.Drawing.Size(776, 538);
 | 
				
			||||||
 | 
					            this.tpDefault.TabIndex = 0;
 | 
				
			||||||
 | 
					            this.tpDefault.Text = "Default Group";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // label8
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.label8.Location = new System.Drawing.Point(308, 6);
 | 
				
			||||||
 | 
					            this.label8.Name = "label8";
 | 
				
			||||||
 | 
					            this.label8.Size = new System.Drawing.Size(460, 172);
 | 
				
			||||||
 | 
					            this.label8.TabIndex = 5;
 | 
				
			||||||
 | 
					            this.label8.Text = "label8";
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // pnlGroups
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.pnlGroups.AutoScroll = true;
 | 
				
			||||||
 | 
					            this.pnlGroups.Location = new System.Drawing.Point(3, 6);
 | 
				
			||||||
 | 
					            this.pnlGroups.Name = "pnlGroups";
 | 
				
			||||||
 | 
					            this.pnlGroups.Size = new System.Drawing.Size(299, 526);
 | 
				
			||||||
 | 
					            this.pnlGroups.TabIndex = 4;
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // cmMembers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.cmMembers.Name = "cmGroupMembers";
 | 
				
			||||||
 | 
					            this.cmMembers.Size = new System.Drawing.Size(61, 4);
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // removeMemberToolStripMenuItem
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem";
 | 
				
			||||||
 | 
					            this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22);
 | 
				
			||||||
 | 
					            this.removeMemberToolStripMenuItem.Text = "Remove Member";
 | 
				
			||||||
 | 
					            this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click);
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            // cmUsers
 | 
				
			||||||
 | 
					            // 
 | 
				
			||||||
 | 
					            this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
				
			||||||
            this.addUserToolStripMenuItem,
 | 
					            this.addUserToolStripMenuItem,
 | 
				
			||||||
            this.editUserToolStripMenuItem,
 | 
					            this.editUserToolStripMenuItem,
 | 
				
			||||||
            this.deleteUserToolStripMenuItem,
 | 
					            this.deleteUserToolStripMenuItem});
 | 
				
			||||||
            this.addMemberToolStripMenuItemUser});
 | 
					            this.cmUsers.Name = "cmUsers";
 | 
				
			||||||
			this.cmUsers.Name = "cmUsers";
 | 
					            this.cmUsers.Size = new System.Drawing.Size(145, 92);
 | 
				
			||||||
			this.cmUsers.Size = new System.Drawing.Size(153, 114);
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // addUserToolStripMenuItem
 | 
				
			||||||
			// addUserToolStripMenuItem
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem";
 | 
				
			||||||
			this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem";
 | 
					            this.addUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
				
			||||||
			this.addUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
					            this.addUserToolStripMenuItem.Text = "Add User";
 | 
				
			||||||
			this.addUserToolStripMenuItem.Text = "Add User";
 | 
					            this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click);
 | 
				
			||||||
			this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click);
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // editUserToolStripMenuItem
 | 
				
			||||||
			// editUserToolStripMenuItem
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem";
 | 
				
			||||||
			this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem";
 | 
					            this.editUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
				
			||||||
			this.editUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
					            this.editUserToolStripMenuItem.Text = "Edit User";
 | 
				
			||||||
			this.editUserToolStripMenuItem.Text = "Edit User";
 | 
					            this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click);
 | 
				
			||||||
			this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click);
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // deleteUserToolStripMenuItem
 | 
				
			||||||
			// deleteUserToolStripMenuItem
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem";
 | 
				
			||||||
			this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem";
 | 
					            this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
				
			||||||
			this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
					            this.deleteUserToolStripMenuItem.Text = "Delete User";
 | 
				
			||||||
			this.deleteUserToolStripMenuItem.Text = "Delete User";
 | 
					            this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click);
 | 
				
			||||||
			this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click);
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            // dlgManageSecurity
 | 
				
			||||||
			// addMemberToolStripMenuItemUser
 | 
					            // 
 | 
				
			||||||
			// 
 | 
					            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
 | 
				
			||||||
			this.addMemberToolStripMenuItemUser.Name = "addMemberToolStripMenuItemUser";
 | 
					            this.ClientSize = new System.Drawing.Size(784, 564);
 | 
				
			||||||
			this.addMemberToolStripMenuItemUser.Size = new System.Drawing.Size(152, 22);
 | 
					            this.Controls.Add(this.tcSecurity);
 | 
				
			||||||
			this.addMemberToolStripMenuItemUser.Text = "Add Member";
 | 
					            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 | 
				
			||||||
			this.addMemberToolStripMenuItemUser.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
 | 
					            this.MaximizeBox = false;
 | 
				
			||||||
			// 
 | 
					            this.MinimizeBox = false;
 | 
				
			||||||
			// cmGroups
 | 
					            this.Name = "dlgManageSecurity";
 | 
				
			||||||
			// 
 | 
					            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 | 
				
			||||||
			this.cmGroups.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
					            this.Text = "Manage Security";
 | 
				
			||||||
            this.deleteGroupToolStripMenuItem,
 | 
					            this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
 | 
				
			||||||
            this.addMemberToolStripMenuItemGroup});
 | 
					            this.tcSecurity.ResumeLayout(false);
 | 
				
			||||||
			this.cmGroups.Name = "cmGroups";
 | 
					            this.tpManageFolders.ResumeLayout(false);
 | 
				
			||||||
			this.cmGroups.Size = new System.Drawing.Size(145, 48);
 | 
					            this.tpManageFolders.PerformLayout();
 | 
				
			||||||
			// 
 | 
					            this.cmFolders.ResumeLayout(false);
 | 
				
			||||||
			// deleteGroupToolStripMenuItem
 | 
					            this.tpManageGroups.ResumeLayout(false);
 | 
				
			||||||
			// 
 | 
					            this.tpManageGroups.PerformLayout();
 | 
				
			||||||
			this.deleteGroupToolStripMenuItem.Name = "deleteGroupToolStripMenuItem";
 | 
					            this.pnlMembers.ResumeLayout(false);
 | 
				
			||||||
			this.deleteGroupToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
					            this.tpManageUsers.ResumeLayout(false);
 | 
				
			||||||
			this.deleteGroupToolStripMenuItem.Text = "Delete Group";
 | 
					            this.tpManageUsers.PerformLayout();
 | 
				
			||||||
			this.deleteGroupToolStripMenuItem.Click += new System.EventHandler(this.deleteGroupToolStripMenuItem_Click);
 | 
					            this.tpDefault.ResumeLayout(false);
 | 
				
			||||||
			// 
 | 
					            this.cmUsers.ResumeLayout(false);
 | 
				
			||||||
			// addMemberToolStripMenuItemGroup
 | 
					            this.ResumeLayout(false);
 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			this.addMemberToolStripMenuItemGroup.Name = "addMemberToolStripMenuItemGroup";
 | 
					 | 
				
			||||||
			this.addMemberToolStripMenuItemGroup.Size = new System.Drawing.Size(144, 22);
 | 
					 | 
				
			||||||
			this.addMemberToolStripMenuItemGroup.Text = "Add Member";
 | 
					 | 
				
			||||||
			this.addMemberToolStripMenuItemGroup.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			// dlgManageSecurity
 | 
					 | 
				
			||||||
			// 
 | 
					 | 
				
			||||||
			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
 | 
					 | 
				
			||||||
			this.ClientSize = new System.Drawing.Size(784, 564);
 | 
					 | 
				
			||||||
			this.Controls.Add(this.tcSecurity);
 | 
					 | 
				
			||||||
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 | 
					 | 
				
			||||||
			this.MaximizeBox = false;
 | 
					 | 
				
			||||||
			this.MinimizeBox = false;
 | 
					 | 
				
			||||||
			this.Name = "dlgManageSecurity";
 | 
					 | 
				
			||||||
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 | 
					 | 
				
			||||||
			this.Text = "Manage Security";
 | 
					 | 
				
			||||||
			this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
 | 
					 | 
				
			||||||
			this.tcSecurity.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.tpGroupUsers.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.tpGroupUsers.PerformLayout();
 | 
					 | 
				
			||||||
			this.pnlMembers.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.cmFolders.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.tpDefault.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.cmMembers.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.cmUsers.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.cmGroups.ResumeLayout(false);
 | 
					 | 
				
			||||||
			this.ResumeLayout(false);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -357,20 +445,14 @@ namespace VEPROMS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		private System.Windows.Forms.TabControl tcSecurity;
 | 
							private System.Windows.Forms.TabControl tcSecurity;
 | 
				
			||||||
		private System.Windows.Forms.TabPage tpDefault;
 | 
							private System.Windows.Forms.TabPage tpDefault;
 | 
				
			||||||
		private System.Windows.Forms.TabPage tpGroupUsers;
 | 
							private System.Windows.Forms.TabPage tpManageFolders;
 | 
				
			||||||
		private System.Windows.Forms.ListBox lstGroups;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.Label lblMembers;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.Label label3;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.ContextMenuStrip cmGroups;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.ListBox lstUsers;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.Label label5;
 | 
					 | 
				
			||||||
		private System.Windows.Forms.ContextMenuStrip cmUsers;
 | 
							private System.Windows.Forms.ContextMenuStrip cmUsers;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem addUserToolStripMenuItem;
 | 
							private System.Windows.Forms.ToolStripMenuItem addUserToolStripMenuItem;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem editUserToolStripMenuItem;
 | 
							private System.Windows.Forms.ToolStripMenuItem editUserToolStripMenuItem;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem deleteUserToolStripMenuItem;
 | 
							private System.Windows.Forms.ToolStripMenuItem deleteUserToolStripMenuItem;
 | 
				
			||||||
		private System.Windows.Forms.ContextMenuStrip cmMembers;
 | 
					        private System.Windows.Forms.ContextMenuStrip cmMembers;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem;
 | 
					        private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem;
 | 
				
			||||||
		private System.Windows.Forms.Label label6;
 | 
					        private System.Windows.Forms.Label label6;
 | 
				
			||||||
		private System.Windows.Forms.TreeView tvFolders;
 | 
							private System.Windows.Forms.TreeView tvFolders;
 | 
				
			||||||
		private System.Windows.Forms.ContextMenuStrip cmFolders;
 | 
							private System.Windows.Forms.ContextMenuStrip cmFolders;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem createSetAdministratorGroupToolStripMenuItem;
 | 
							private System.Windows.Forms.ToolStripMenuItem createSetAdministratorGroupToolStripMenuItem;
 | 
				
			||||||
@@ -379,10 +461,23 @@ namespace VEPROMS
 | 
				
			|||||||
		private System.Windows.Forms.ToolStripMenuItem createReviewerGroupToolStripMenuItem;
 | 
							private System.Windows.Forms.ToolStripMenuItem createReviewerGroupToolStripMenuItem;
 | 
				
			||||||
		private System.Windows.Forms.Panel pnlGroups;
 | 
							private System.Windows.Forms.Panel pnlGroups;
 | 
				
			||||||
		private System.Windows.Forms.Label label8;
 | 
							private System.Windows.Forms.Label label8;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem deleteGroupToolStripMenuItem;
 | 
					        private System.Windows.Forms.TabPage tpManageGroups;
 | 
				
			||||||
		private System.Windows.Forms.Panel pnlMembers;
 | 
					        private System.Windows.Forms.TabPage tpManageUsers;
 | 
				
			||||||
		private System.Windows.Forms.ListBox lstMembers;
 | 
					        private System.Windows.Forms.Panel pnlMembers;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemUser;
 | 
					        private System.Windows.Forms.ListBox lstMembers;
 | 
				
			||||||
		private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemGroup;
 | 
					        private System.Windows.Forms.Label lblMembers;
 | 
				
			||||||
	}
 | 
					        private System.Windows.Forms.ListBox lstUsers;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Label lblUsers;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Label label3;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.ComboBox cbGroupSelection;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.ListBox lstNonMembers;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Button btnDeleteGroup;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Label lbNonMembers;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.ListBox lstGroups;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Button btnAddMember;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Button btnRemoveMember;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.ToolTip tt;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Label label1;
 | 
				
			||||||
 | 
					        private System.Windows.Forms.Label lblUserGroups;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -7,30 +7,492 @@ using System.Text;
 | 
				
			|||||||
using System.Windows.Forms;
 | 
					using System.Windows.Forms;
 | 
				
			||||||
using VEPROMS.CSLA.Library;
 | 
					using VEPROMS.CSLA.Library;
 | 
				
			||||||
using Volian.Base.Library;
 | 
					using Volian.Base.Library;
 | 
				
			||||||
 | 
					using Volian.Controls.Library;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace VEPROMS
 | 
					namespace VEPROMS
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						//C2024-047 Redesign PROMS Security Dialog
 | 
				
			||||||
	public partial class dlgManageSecurity : Form
 | 
						public partial class dlgManageSecurity : Form
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		#region Log4Net
 | 
							#region Log4Net
 | 
				
			||||||
		private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 | 
							private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 | 
				
			||||||
		#endregion
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Main Form / Shared Code
 | 
				
			||||||
		private GroupInfoList myGroupInfoList;
 | 
							private GroupInfoList myGroupInfoList;
 | 
				
			||||||
		private UserInfoList myUserInfoList;
 | 
							private UserInfoList myUserInfoList;
 | 
				
			||||||
		private List<MembershipInfo> myMembershipInfoList;
 | 
							private List<MembershipInfo> myMembershipInfoList;
 | 
				
			||||||
		private Folder myFolder;
 | 
							private Folder myFolder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		public dlgManageSecurity()
 | 
							public dlgManageSecurity()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			InitializeComponent();
 | 
								InitializeComponent();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void dlgManageSecurity_Load(object sender, EventArgs e)
 | 
							private void dlgManageSecurity_Load(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
								//load all folders
 | 
				
			||||||
			myFolder = Folder.Get(1);
 | 
								myFolder = Folder.Get(1);
 | 
				
			||||||
			SetupSecurity();
 | 
					
 | 
				
			||||||
			SetupGroups();
 | 
								//Default to Users Tab
 | 
				
			||||||
 | 
								tcSecurity.SelectedIndex = 2;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//This is called when the Index Changes for main tab Control
 | 
				
			||||||
 | 
							//it loads info for the current tab
 | 
				
			||||||
 | 
							private void changedTab(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								switch (tcSecurity.SelectedIndex)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									//Manage Folders
 | 
				
			||||||
 | 
									case 0:
 | 
				
			||||||
 | 
										SetupFolderOptions();
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									//Manage Groups
 | 
				
			||||||
 | 
									case 1:
 | 
				
			||||||
 | 
										SetupGroups();
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									//Manage Users (note that this is the default)
 | 
				
			||||||
 | 
									case 2:
 | 
				
			||||||
 | 
										SetupUserOptions();
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
					                //Default Options tab
 | 
				
			||||||
 | 
									case 3:
 | 
				
			||||||
 | 
										SetupDefaultGroupOptions();
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							//Loads a refreshed list of Groups and Users
 | 
				
			||||||
 | 
							private void LoadRefreshGroupUsers()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								GroupInfoList.Reset();
 | 
				
			||||||
 | 
								myGroupInfoList = GroupInfoList.Get();
 | 
				
			||||||
 | 
								UserInfoList.Reset();
 | 
				
			||||||
 | 
								myUserInfoList = UserInfoList.Get();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Manage Folders
 | 
				
			||||||
 | 
							//Sets up Folders
 | 
				
			||||||
 | 
							private void SetupFolderOptions()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (tvFolders.Nodes.Count == 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									FolderInfo fi = FolderInfo.Get(1);
 | 
				
			||||||
 | 
									LoadChildFolders(fi, null);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							//loads child folders in tree view
 | 
				
			||||||
 | 
							private void LoadChildFolders(FolderInfo fi, TreeNode tn)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (tn == null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									tn = tvFolders.Nodes.Add(fi.Name);
 | 
				
			||||||
 | 
									tn.Tag = fi;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									tn = tn.Nodes.Add(fi.Name);
 | 
				
			||||||
 | 
									tn.Tag = fi;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (fi.ChildFolderCount > 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									foreach (FolderInfo fic in fi.SortedChildFolders)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										LoadChildFolders(fic, tn);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							//Handles Creating a New Group
 | 
				
			||||||
 | 
							private void createGroupMenuItem(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								try
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
 | 
				
			||||||
 | 
									TreeNode tn = tvFolders.SelectedNode;
 | 
				
			||||||
 | 
									FolderInfo fi = tn.Tag as FolderInfo;
 | 
				
			||||||
 | 
									AddNewGroup(tsddi.Text, fi);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								catch (Exception ex)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									_MyLog.Warn("createGroupMenuItem", ex);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							private void AddNewGroup(string txt, FolderInfo fi)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
 | 
				
			||||||
 | 
								RoleInfoList ril = RoleInfoList.Get();
 | 
				
			||||||
 | 
								// B2022-080: cannot add a new group in Proms security.  if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
 | 
				
			||||||
 | 
								//   Writer, Reviewer, RO Editor, the Adding of new groups won't work.  Databases should have this loaded by default.
 | 
				
			||||||
 | 
								//   Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
 | 
				
			||||||
 | 
								if (ril == null || ril.Count < 2)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (var ri in ril.Where(ri => ri.Name == txt))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
 | 
				
			||||||
 | 
					                if (!myGroupInfoList.Any(gi => gi.GroupName == gin))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Group group = Group.MakeGroup(gin, null, null);
 | 
				
			||||||
 | 
					                    Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								tvFolders.SelectedNode = e.Node;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Manage Groups
 | 
				
			||||||
 | 
							//Sets up Group Options
 | 
				
			||||||
		private void SetupGroups()
 | 
							private void SetupGroups()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								cbGroupSelection.Items.Clear();
 | 
				
			||||||
 | 
								foreach (GroupInfo gi in myGroupInfoList)
 | 
				
			||||||
 | 
									cbGroupSelection.Items.Add(gi.GroupName);
 | 
				
			||||||
 | 
								cbGroupSelection.SelectedIndex = 0;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void cbGroupSelection_SelectedIndexChanged(object sender, EventArgs e) => updateMembershipLists();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Updates the lists of members / nonMembers
 | 
				
			||||||
 | 
							private void updateMembershipLists()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								myMembershipInfoList = new List<MembershipInfo>();
 | 
				
			||||||
 | 
								if (cbGroupSelection.SelectedIndex > -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
 | 
				
			||||||
 | 
									gi.RefreshGroupMemberships();
 | 
				
			||||||
 | 
									if (gi.GroupMembershipCount > 0)
 | 
				
			||||||
 | 
										myMembershipInfoList.AddRange(gi.GroupMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty).OrderBy(x => x.MyUserUserID));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								lstMembers.DataSource = myMembershipInfoList;
 | 
				
			||||||
 | 
								lstMembers.ValueMember = "UID";
 | 
				
			||||||
 | 
								lstMembers.DisplayMember = "MyUserUserID";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//set NonMembers to Users that are not in Members
 | 
				
			||||||
 | 
								lstNonMembers.DataSource = myUserInfoList.Select(x => x.UserID).Except(myMembershipInfoList.Select(x => x.MyUser.UserID)).ToList();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Add a Member to a Group
 | 
				
			||||||
 | 
							private void addMember_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								int groupIndex = cbGroupSelection.SelectedIndex;
 | 
				
			||||||
 | 
								string selectedUserID = lstNonMembers.SelectedValue.ToString();
 | 
				
			||||||
 | 
								int selectedUID = UserInfo.GetByUserID(selectedUserID).UID;
 | 
				
			||||||
 | 
								GroupInfo gi = myGroupInfoList[groupIndex];
 | 
				
			||||||
 | 
								User selectedUser = User.Get(selectedUID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								Membership.MakeMembership(selectedUser, Group.Get(gi.GID), null, "");
 | 
				
			||||||
 | 
								updateMembershipLists();
 | 
				
			||||||
 | 
								lstNonMembers.SelectedIndex = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								int index = lstMembers.FindString(selectedUserID);
 | 
				
			||||||
 | 
								lstMembers.SetSelected(index, true);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Remove a Member From a Group
 | 
				
			||||||
 | 
							private void removeMember_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (lstMembers.SelectedIndex > -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MembershipInfo mi = (MembershipInfo)lstMembers.SelectedItem;
 | 
				
			||||||
 | 
									string selectedUserID = mi.MyUserUserID;
 | 
				
			||||||
 | 
									string msg = "Are you sure you want to remove this Group Member?";
 | 
				
			||||||
 | 
									if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
											return;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
										Membership m = Membership.Get(mi.UGID);
 | 
				
			||||||
 | 
										m.EndDate = DateTime.Now.ToShortDateString();
 | 
				
			||||||
 | 
										m.Save();
 | 
				
			||||||
 | 
										updateMembershipLists();
 | 
				
			||||||
 | 
										lstMembers.SelectedIndex = -1;
 | 
				
			||||||
 | 
										lstNonMembers.SelectedItem = selectedUserID;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Deletes the Currently Selected Group
 | 
				
			||||||
 | 
							private void deleteGroup_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (cbGroupSelection.SelectedIndex < 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
 | 
				
			||||||
 | 
								if(myFolder.FolderConfig.Security_Group == gi.GID)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								bool deleteOK = true;
 | 
				
			||||||
 | 
					            if (gi.GroupMembershipCount > 0 && gi.GroupMemberships.Any(mi => mi.EndDate == null || mi.EndDate == string.Empty))
 | 
				
			||||||
 | 
					                deleteOK = false;
 | 
				
			||||||
 | 
					            if (!deleteOK)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("There are still users who are members of this group.  You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									Group.Delete(gi.GID);
 | 
				
			||||||
 | 
									LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
									SetupGroups();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Manage Users
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Sets up UserOptions
 | 
				
			||||||
 | 
							private void SetupUserOptions()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								lstUsers.Items.Clear();
 | 
				
			||||||
 | 
								foreach (UserInfo ui in myUserInfoList)
 | 
				
			||||||
 | 
									lstUsers.Items.Add(ui.UserID);
 | 
				
			||||||
 | 
								lstUsers.SelectedIndex = -1;
 | 
				
			||||||
 | 
								lstGroups.DataSource = null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Manage Users - User Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Build Membership list based on selected user
 | 
				
			||||||
 | 
							private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								myMembershipInfoList = new List<MembershipInfo>();
 | 
				
			||||||
 | 
								if (lstUsers.SelectedIndex > -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
				
			||||||
 | 
									if (ui.UserMembershipCount > 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										myMembershipInfoList.AddRange(ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty));
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								lstGroups.DataSource = myMembershipInfoList;
 | 
				
			||||||
 | 
								lstGroups.ValueMember = "UGID";
 | 
				
			||||||
 | 
								lstGroups.DisplayMember = "MyGroupName";
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Select User and set up Mouse Click Menus based on
 | 
				
			||||||
 | 
							//where click in User Box
 | 
				
			||||||
 | 
							private void lstUsers_MouseUp(object sender, MouseEventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (e.Button == MouseButtons.Right)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									int k = lstUsers.IndexFromPoint(e.Location);
 | 
				
			||||||
 | 
									if (k >= 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										lstUsers.SelectedIndex = k;
 | 
				
			||||||
 | 
										editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										addUserToolStripMenuItem.Visible = true;
 | 
				
			||||||
 | 
										editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = false;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									cmUsers.Show(lstUsers, e.Location);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else if (e.Button == MouseButtons.Left)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									int k = lstUsers.IndexFromPoint(e.Location);
 | 
				
			||||||
 | 
									if (k >= 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										lstUsers.SelectedIndex = k;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Adds a new User
 | 
				
			||||||
 | 
							private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								User u = User.MakeUser("[Enter New UserID]", "", "", "", "", "", "", "", "", "", "", DateTime.Now, "");
 | 
				
			||||||
 | 
								frmManageUser frm = new frmManageUser("add");
 | 
				
			||||||
 | 
								frm.MyUser = u;
 | 
				
			||||||
 | 
								if (frm.ShowDialog(this) == DialogResult.OK)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									u = frm.MyUser;
 | 
				
			||||||
 | 
									u.Save();
 | 
				
			||||||
 | 
									Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Update the User list to reflect the added user
 | 
				
			||||||
 | 
									LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
									SetupUserOptions();
 | 
				
			||||||
 | 
									lstUsers.SelectedItem = u.UserID;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									u.Delete();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Edit a User's details
 | 
				
			||||||
 | 
							private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (lstUsers.SelectedIndex == -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
				
			||||||
 | 
								using (User u = User.Get(ui.UID))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									frmManageUser frm = new frmManageUser("edit");
 | 
				
			||||||
 | 
									frm.MyUser = u;
 | 
				
			||||||
 | 
									if (frm.ShowDialog(this) == DialogResult.OK)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										frm.MyUser.Save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										//Update the User list to reflect the edited user
 | 
				
			||||||
 | 
										//this is done in case the UserID is updated so the list updates to reflect that
 | 
				
			||||||
 | 
										LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
										SetupUserOptions();
 | 
				
			||||||
 | 
										lstUsers.SelectedItem = u.UserID;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Delete a User
 | 
				
			||||||
 | 
							private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (lstUsers.SelectedIndex == -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
				
			||||||
 | 
								SessionInfoList sil = SessionInfoList.Get();
 | 
				
			||||||
 | 
								foreach (SessionInfo si in sil)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (si.UserID == ui.UserID && (si.DTSEnd == null))
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										MessageBox.Show("The user selected has an active session.  You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
										return;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								int nummemberships = ui.UserMemberships.Count(mi => mi.EndDate == null || mi.EndDate == string.Empty);
 | 
				
			||||||
 | 
								string mem_text = nummemberships > 0 ? "\r\nNote that this will remove all memberships that this user has." : "";
 | 
				
			||||||
 | 
								if (MessageBox.Show($"Are you sure you want to delete this user?{mem_text}", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									foreach (MembershipInfo minfo in ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
										Membership m = Membership.Get(minfo.UGID);
 | 
				
			||||||
 | 
										m.EndDate = DateTime.Now.ToShortDateString();
 | 
				
			||||||
 | 
										m.Save();
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									User.Delete(ui.UID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Update the User list to reflect the deleted user
 | 
				
			||||||
 | 
									LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
									SetupUserOptions();
 | 
				
			||||||
 | 
									lstUsers.SelectedIndex = -1;
 | 
				
			||||||
 | 
									lstGroups.DataSource = null;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Manage Users - Member Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Adds Context Menu for when a Group is selected
 | 
				
			||||||
 | 
							private void lstGroups_MouseUp(object sender, MouseEventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								cmMembers.Items.Clear();
 | 
				
			||||||
 | 
								lstGroups.SelectedIndex = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//shouldn<64>t be bringing up a menu in the Group box unless a user is 1st selected in the Users box.
 | 
				
			||||||
 | 
								if (e.Button == MouseButtons.Right && lstUsers.SelectedIndex > -1)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									int k = lstGroups.IndexFromPoint(e.Location);
 | 
				
			||||||
 | 
									if (k >= 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										lstGroups.SelectedIndex = k;
 | 
				
			||||||
 | 
										cmMembers.Items.Add(this.removeMemberToolStripMenuItem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									var groupsCanAddTo = myGroupInfoList.Select(x => new { x.GroupName, x.GID }).Except(myMembershipInfoList.Select(x => new { x.MyGroup.GroupName, x.GID }));
 | 
				
			||||||
 | 
									foreach (var possiblegroup in groupsCanAddTo)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										ToolStripMenuItemwithValue AddToMenuItem = new ToolStripMenuItemwithValue($"Add as Member to Group: {possiblegroup.GroupName}", possiblegroup.GID);
 | 
				
			||||||
 | 
										AddToMenuItem.Click += addMemberToolStripMenuItem_Click;
 | 
				
			||||||
 | 
										cmMembers.Items.Add(AddToMenuItem);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									cmMembers.Show(lstGroups, e.Location);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else if (e.Button == MouseButtons.Left)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									int k = lstGroups.IndexFromPoint(e.Location);
 | 
				
			||||||
 | 
									if (k >= 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										lstGroups.SelectedIndex = k;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Adds a User to a Group
 | 
				
			||||||
 | 
							private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								ToolStripMenuItemwithValue item = (ToolStripMenuItemwithValue)sender;
 | 
				
			||||||
 | 
								int userIndex = lstUsers.SelectedIndex;
 | 
				
			||||||
 | 
								UserInfo ui = myUserInfoList[userIndex];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								Membership.MakeMembership(User.Get(ui.UID), Group.Get((int) item.Value), null, "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//Update the Group list to reflect the added group
 | 
				
			||||||
 | 
								LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
								lstUsers_SelectedIndexChanged(sender, e);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Removes a User from a Group
 | 
				
			||||||
 | 
							private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MembershipInfo mi = (MembershipInfo)lstGroups.SelectedItem;
 | 
				
			||||||
 | 
								string msg = "Are you sure you want to remove this Group Member?";
 | 
				
			||||||
 | 
								if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
					                if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                Membership m = Membership.Get(mi.UGID);
 | 
				
			||||||
 | 
									m.EndDate = DateTime.Now.ToShortDateString();
 | 
				
			||||||
 | 
									m.Save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Update the Group list to reflect the removed group
 | 
				
			||||||
 | 
									LoadRefreshGroupUsers();
 | 
				
			||||||
 | 
									lstUsers_SelectedIndexChanged(sender, e);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							#region Default Options
 | 
				
			||||||
 | 
							//Sets up Default Group options for Default Tab
 | 
				
			||||||
 | 
							private void SetupDefaultGroupOptions()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			pnlGroups.Controls.Clear();
 | 
								pnlGroups.Controls.Clear();
 | 
				
			||||||
			foreach (GroupInfo gi in myGroupInfoList)
 | 
								foreach (GroupInfo gi in myGroupInfoList)
 | 
				
			||||||
@@ -56,6 +518,7 @@ namespace VEPROMS
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							//Handles changing the default group
 | 
				
			||||||
		private void rb_CheckedChanged(object sender, EventArgs e)
 | 
							private void rb_CheckedChanged(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			RadioButton rb = sender as RadioButton;
 | 
								RadioButton rb = sender as RadioButton;
 | 
				
			||||||
@@ -64,446 +527,7 @@ namespace VEPROMS
 | 
				
			|||||||
			myFolder.FolderConfig.Security_Group = gi.GID;
 | 
								myFolder.FolderConfig.Security_Group = gi.GID;
 | 
				
			||||||
			myFolder.Save();
 | 
								myFolder.Save();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void SetupSecurity()
 | 
							#endregion
 | 
				
			||||||
		{
 | 
					
 | 
				
			||||||
			if (tvFolders.Nodes.Count == 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				FolderInfo fi = FolderInfo.Get(1);
 | 
					 | 
				
			||||||
				LoadChildFolders(fi, null);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			lstMembers.Items.Clear();
 | 
					 | 
				
			||||||
			lstUsers.Items.Clear();
 | 
					 | 
				
			||||||
			lstGroups.Items.Clear();
 | 
					 | 
				
			||||||
			GroupInfoList.Reset();
 | 
					 | 
				
			||||||
			UserInfoList.Reset();
 | 
					 | 
				
			||||||
			myGroupInfoList = GroupInfoList.Get();
 | 
					 | 
				
			||||||
			myUserInfoList = UserInfoList.Get();
 | 
					 | 
				
			||||||
			foreach (GroupInfo gi in myGroupInfoList)
 | 
					 | 
				
			||||||
				lstGroups.Items.Add(gi.GroupName);
 | 
					 | 
				
			||||||
			lstGroups.SelectedIndex = 0;
 | 
					 | 
				
			||||||
			foreach (UserInfo ui in myUserInfoList)
 | 
					 | 
				
			||||||
				lstUsers.Items.Add(ui.UserID);
 | 
					 | 
				
			||||||
			lstGroups.SelectedIndex = -1;
 | 
					 | 
				
			||||||
			lstUsers.SelectedIndex = -1;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void LoadChildFolders(FolderInfo fi, TreeNode tn)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			if (tn == null)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				tn = tvFolders.Nodes.Add(fi.Name);
 | 
					 | 
				
			||||||
				tn.Tag = fi;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				tn = tn.Nodes.Add(fi.Name);
 | 
					 | 
				
			||||||
				tn.Tag = fi;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (fi.ChildFolderCount > 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				foreach (FolderInfo fic in fi.SortedChildFolders)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					LoadChildFolders(fic, tn);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void lstGroups_SelectedIndexChanged(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			lblMembers.Text = "Selected Group Users";
 | 
					 | 
				
			||||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
					 | 
				
			||||||
			lstMembers.Items.Clear();
 | 
					 | 
				
			||||||
			if (lstGroups.SelectedIndex > -1)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
					 | 
				
			||||||
				if (gi.GroupMembershipCount > 0)
 | 
					 | 
				
			||||||
					foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							myMembershipInfoList.Add(mi);
 | 
					 | 
				
			||||||
							lstMembers.Items.Add(mi.MyUser.UserID);
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			int groupIndex = lstGroups.SelectedIndex;
 | 
					 | 
				
			||||||
			int userIndex = lstUsers.SelectedIndex;
 | 
					 | 
				
			||||||
			GroupInfo gi = myGroupInfoList[groupIndex];
 | 
					 | 
				
			||||||
			UserInfo ui = myUserInfoList[userIndex];
 | 
					 | 
				
			||||||
			Membership.MakeMembership(User.Get(ui.UID), Group.Get(gi.GID), null, "");
 | 
					 | 
				
			||||||
			SetupSecurity();
 | 
					 | 
				
			||||||
			if ((sender as ToolStripMenuItem).Name.EndsWith("Group"))
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				lstUsers.SelectedIndex = userIndex;
 | 
					 | 
				
			||||||
				lstGroups.SelectedIndex = groupIndex;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				lstGroups.SelectedIndex = groupIndex;
 | 
					 | 
				
			||||||
				lstUsers.SelectedIndex = userIndex;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			MembershipInfo mi = myMembershipInfoList[lstMembers.SelectedIndex];
 | 
					 | 
				
			||||||
			string msg = "Are you sure you want to remove this Group Member?";
 | 
					 | 
				
			||||||
			if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int groupIndex = lstGroups.SelectedIndex;
 | 
					 | 
				
			||||||
				int userIndex = lstUsers.SelectedIndex;
 | 
					 | 
				
			||||||
				if (mi.MyGroup.GroupName == "Administrators")
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					int k = 0;
 | 
					 | 
				
			||||||
					foreach(MembershipInfo mm in mi.MyGroup.GroupMemberships)
 | 
					 | 
				
			||||||
						if(mm.EndDate == null || mm.EndDate == string.Empty)
 | 
					 | 
				
			||||||
							k++;
 | 
					 | 
				
			||||||
					if (k == 1)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
						return;
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				Membership m = Membership.Get(mi.UGID);
 | 
					 | 
				
			||||||
				m.EndDate = DateTime.Now.ToShortDateString();
 | 
					 | 
				
			||||||
				m.Save();
 | 
					 | 
				
			||||||
				SetupSecurity();
 | 
					 | 
				
			||||||
				lstGroups.SelectedIndex = groupIndex;
 | 
					 | 
				
			||||||
				lstUsers.SelectedIndex = userIndex;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			//  foreach (int gg in lstGroups.SelectedIndices)
 | 
					 | 
				
			||||||
			//  {
 | 
					 | 
				
			||||||
			//    GroupInfo gi = myGroupInfoList[gg];
 | 
					 | 
				
			||||||
			//    if (gi.GroupName == "Administrators" && gi.GroupMembershipCount == 1)
 | 
					 | 
				
			||||||
			//    {
 | 
					 | 
				
			||||||
			//      MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "Can Not Delete User", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
			//      return;
 | 
					 | 
				
			||||||
			//    }
 | 
					 | 
				
			||||||
			//    foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
					 | 
				
			||||||
			//    {
 | 
					 | 
				
			||||||
			//      foreach (int mm in lstGroupUsers.SelectedIndices)
 | 
					 | 
				
			||||||
			//      {
 | 
					 | 
				
			||||||
			//        MembershipInfo mig = myMembershipInfoList[mm];
 | 
					 | 
				
			||||||
			//        if (mi.MyUser.UID == mig.MyUser.UID)
 | 
					 | 
				
			||||||
			//        {
 | 
					 | 
				
			||||||
			//          Membership m = Membership.Get(mi.UGID);
 | 
					 | 
				
			||||||
			//          m.EndDate = DateTime.Now.ToShortDateString();
 | 
					 | 
				
			||||||
			//          m.Save();
 | 
					 | 
				
			||||||
			//        }
 | 
					 | 
				
			||||||
			//      }
 | 
					 | 
				
			||||||
			//    }
 | 
					 | 
				
			||||||
			//  }
 | 
					 | 
				
			||||||
			//  SetupSecurity();
 | 
					 | 
				
			||||||
			//}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			User u = User.MakeUser("[Enter New UserID]","", "", "", "", "", "", "", "", "", "",DateTime.Now,"");
 | 
					 | 
				
			||||||
			frmManageUser frm = new frmManageUser("add");
 | 
					 | 
				
			||||||
			frm.MyUser = u;
 | 
					 | 
				
			||||||
			if (frm.ShowDialog(this) == DialogResult.OK)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				u = frm.MyUser;
 | 
					 | 
				
			||||||
				u.Save();
 | 
					 | 
				
			||||||
				Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
 | 
					 | 
				
			||||||
				SetupSecurity();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				u.Delete();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			if (lstUsers.SelectedIndex == -1)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
					 | 
				
			||||||
			using (User u = User.Get(ui.UID))
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				frmManageUser frm = new frmManageUser("edit");
 | 
					 | 
				
			||||||
				frm.MyUser = u;
 | 
					 | 
				
			||||||
				if (frm.ShowDialog(this) == DialogResult.OK)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					frm.MyUser.Save();
 | 
					 | 
				
			||||||
          SetupSecurity();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			if (lstUsers.SelectedIndex == -1)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
					 | 
				
			||||||
			SessionInfoList sil = SessionInfoList.Get();
 | 
					 | 
				
			||||||
			foreach (SessionInfo si in sil)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				if (si.UserID == ui.UserID && (si.DTSEnd == null))
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					MessageBox.Show("The user selected has an active session.  You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
					return;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			int k = 0;
 | 
					 | 
				
			||||||
			if (ui.UserMembershipCount > 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				foreach (MembershipInfo mi in ui.UserMemberships)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
					 | 
				
			||||||
						k++;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (k > 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("You must remove user from all groups that user is a member of in order to delete user", "User Has Memberships", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (MessageBox.Show("Are you sure you want to delete this user?", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				User.Delete(ui.UID);
 | 
					 | 
				
			||||||
				SetupSecurity();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			//to do delete user
 | 
					 | 
				
			||||||
			//end date user memberships
 | 
					 | 
				
			||||||
			//delete user
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void createGroupMenuItem(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			try
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
 | 
					 | 
				
			||||||
				TreeNode tn = tvFolders.SelectedNode;
 | 
					 | 
				
			||||||
				FolderInfo fi = tn.Tag as FolderInfo;
 | 
					 | 
				
			||||||
				AddNewGroup(tsddi.Text, fi);
 | 
					 | 
				
			||||||
				SetupSecurity();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			catch (Exception ex)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				_MyLog.Warn("createGroupMenuItem", ex);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void AddNewGroup(string txt, FolderInfo fi)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
 | 
					 | 
				
			||||||
			RoleInfoList ril = RoleInfoList.Get();
 | 
					 | 
				
			||||||
			// B2022-080: cannot add a new group in Proms security.  if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
 | 
					 | 
				
			||||||
			//   Writer, Reviewer, RO Editor, the Adding of new groups won't work.  Databases should have this loaded by default.
 | 
					 | 
				
			||||||
			//   Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
 | 
					 | 
				
			||||||
			if (ril == null || ril.Count < 2)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			foreach(RoleInfo ri in ril)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				if (ri.Name == txt)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
 | 
					 | 
				
			||||||
					bool addOK = true;
 | 
					 | 
				
			||||||
					foreach (GroupInfo gi in myGroupInfoList)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						if (gin == gi.GroupName)
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							addOK = false;
 | 
					 | 
				
			||||||
							break;
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
					if (addOK)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						Group group = Group.MakeGroup(gin, null, null);
 | 
					 | 
				
			||||||
						Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			GroupInfoList.Reset();
 | 
					 | 
				
			||||||
			myGroupInfoList = GroupInfoList.Get();
 | 
					 | 
				
			||||||
			SetupGroups();
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			lblMembers.Text = "Selected User Groups";
 | 
					 | 
				
			||||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
					 | 
				
			||||||
			lstMembers.Items.Clear();
 | 
					 | 
				
			||||||
			if (lstUsers.SelectedIndex > -1)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
					 | 
				
			||||||
				if (ui.UserMembershipCount > 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					foreach (MembershipInfo mi in ui.UserMemberships)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							myMembershipInfoList.Add(mi);
 | 
					 | 
				
			||||||
							lstMembers.Items.Add(mi.MyGroup.GroupName);
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			tvFolders.SelectedNode = e.Node;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void deleteGroupToolStripMenuItem_Click(object sender, EventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			if (lstGroups.SelectedIndex < 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
					 | 
				
			||||||
			if(myFolder.FolderConfig.Security_Group == gi.GID)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			bool deleteOK = true;
 | 
					 | 
				
			||||||
			if(gi.GroupMembershipCount > 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						deleteOK = false;
 | 
					 | 
				
			||||||
						break;
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (!deleteOK)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				MessageBox.Show("There are still users who are members of this group.  You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
					 | 
				
			||||||
				return;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				Group.Delete(gi.GID);
 | 
					 | 
				
			||||||
				GroupInfoList.Reset();
 | 
					 | 
				
			||||||
				myGroupInfoList = GroupInfoList.Get();
 | 
					 | 
				
			||||||
				SetupGroups();
 | 
					 | 
				
			||||||
				SetupSecurity();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void lstGroups_MouseUp(object sender, MouseEventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			lstGroups.SelectedIndex = -1;
 | 
					 | 
				
			||||||
			if (e.Button == MouseButtons.Right)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstGroups.SelectedIndex = k;
 | 
					 | 
				
			||||||
					if (lstUsers.SelectedIndex >= 0)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						GroupInfo gi = myGroupInfoList[k];
 | 
					 | 
				
			||||||
						if (gi.GroupMembershipCount > 0)
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							addMemberToolStripMenuItemGroup.Visible = true;
 | 
					 | 
				
			||||||
							UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
					 | 
				
			||||||
							foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
					 | 
				
			||||||
							{
 | 
					 | 
				
			||||||
								if (mi.MyUser.UserID == ui.UserID && (mi.EndDate == null || mi.EndDate == string.Empty))
 | 
					 | 
				
			||||||
								{
 | 
					 | 
				
			||||||
									addMemberToolStripMenuItemGroup.Visible = false;
 | 
					 | 
				
			||||||
									break;
 | 
					 | 
				
			||||||
								}
 | 
					 | 
				
			||||||
							}
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
					else
 | 
					 | 
				
			||||||
						addMemberToolStripMenuItemGroup.Visible = false;
 | 
					 | 
				
			||||||
					cmGroups.Show(lstGroups, e.Location);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else if (e.Button == MouseButtons.Left)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstGroups.SelectedIndex = k;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void lstUsers_MouseUp(object sender, MouseEventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			lstUsers.SelectedIndex = -1;
 | 
					 | 
				
			||||||
			if (e.Button == MouseButtons.Right)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstUsers.SelectedIndex = k;
 | 
					 | 
				
			||||||
          //addUserToolStripMenuItem.Visible = false;
 | 
					 | 
				
			||||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
 | 
					 | 
				
			||||||
					if (lstGroups.SelectedIndex >= 0)
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						UserInfo ui = myUserInfoList[k];
 | 
					 | 
				
			||||||
						if(ui.UserMembershipCount > 0)
 | 
					 | 
				
			||||||
						{
 | 
					 | 
				
			||||||
							addMemberToolStripMenuItemUser.Visible = true;
 | 
					 | 
				
			||||||
							GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
					 | 
				
			||||||
							foreach(MembershipInfo mi in ui.UserMemberships)
 | 
					 | 
				
			||||||
							{
 | 
					 | 
				
			||||||
								if (mi.MyGroup.GroupName == gi.GroupName && (mi.EndDate == null || mi.EndDate == string.Empty))
 | 
					 | 
				
			||||||
								{
 | 
					 | 
				
			||||||
									addMemberToolStripMenuItemUser.Visible = false;
 | 
					 | 
				
			||||||
									break;
 | 
					 | 
				
			||||||
								}
 | 
					 | 
				
			||||||
							}
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
					else
 | 
					 | 
				
			||||||
						addMemberToolStripMenuItemUser.Visible = false;
 | 
					 | 
				
			||||||
					cmUsers.Show(lstUsers, e.Location);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				else
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					addUserToolStripMenuItem.Visible = true;
 | 
					 | 
				
			||||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = addMemberToolStripMenuItemUser.Visible = false;
 | 
					 | 
				
			||||||
					cmUsers.Show(lstUsers, e.Location);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else if (e.Button == MouseButtons.Left)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstUsers.SelectedIndex = k;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		private void lstMembers_MouseUp(object sender, MouseEventArgs e)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			lstMembers.SelectedIndex = -1;
 | 
					 | 
				
			||||||
			if (e.Button == MouseButtons.Right)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstMembers.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstMembers.SelectedIndex = k;
 | 
					 | 
				
			||||||
					addMemberToolStripMenuItemUser.Visible = false;
 | 
					 | 
				
			||||||
					removeMemberToolStripMenuItem.Visible = true;
 | 
					 | 
				
			||||||
					cmMembers.Show(lstMembers, e.Location);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				else
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					addMemberToolStripMenuItemUser.Visible = true;
 | 
					 | 
				
			||||||
					removeMemberToolStripMenuItem.Visible = false;
 | 
					 | 
				
			||||||
					cmMembers.Show(lstMembers, e.Location);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			else if (e.Button == MouseButtons.Left)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				int k = lstMembers.IndexFromPoint(e.Location);
 | 
					 | 
				
			||||||
				if (k >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					lstMembers.SelectedIndex = k;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -112,21 +112,27 @@
 | 
				
			|||||||
    <value>2.0</value>
 | 
					    <value>2.0</value>
 | 
				
			||||||
  </resheader>
 | 
					  </resheader>
 | 
				
			||||||
  <resheader name="reader">
 | 
					  <resheader name="reader">
 | 
				
			||||||
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
					    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
				
			||||||
  </resheader>
 | 
					  </resheader>
 | 
				
			||||||
  <resheader name="writer">
 | 
					  <resheader name="writer">
 | 
				
			||||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.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="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
					  <metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
				
			||||||
 | 
					    <value>234, 17</value>
 | 
				
			||||||
 | 
					  </metadata>
 | 
				
			||||||
 | 
					  <metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
				
			||||||
    <value>341, 17</value>
 | 
					    <value>341, 17</value>
 | 
				
			||||||
  </metadata>
 | 
					  </metadata>
 | 
				
			||||||
  <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
					  <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
				
			||||||
    <value>17, 17</value>
 | 
					    <value>17, 17</value>
 | 
				
			||||||
  </metadata>
 | 
					  </metadata>
 | 
				
			||||||
  <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
					  <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
				
			||||||
    <value>243, 17</value>
 | 
					 | 
				
			||||||
  </metadata>
 | 
					 | 
				
			||||||
  <metadata name="cmGroups.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
					 | 
				
			||||||
    <value>136, 17</value>
 | 
					    <value>136, 17</value>
 | 
				
			||||||
  </metadata>
 | 
					  </metadata>
 | 
				
			||||||
 | 
					  <metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
				
			||||||
 | 
					    <value>341, 17</value>
 | 
				
			||||||
 | 
					  </metadata>
 | 
				
			||||||
 | 
					  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
				
			||||||
 | 
					    <value>58</value>
 | 
				
			||||||
 | 
					  </metadata>
 | 
				
			||||||
</root>
 | 
					</root>
 | 
				
			||||||
@@ -554,10 +554,23 @@ namespace VEPROMS
 | 
				
			|||||||
			tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary);
 | 
								tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary);
 | 
				
			||||||
			tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars;
 | 
								tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars;
 | 
				
			||||||
			tv.CreateTimeCriticalActionSummary += new vlnTreeViewEvent(tv_CreateTimeCriticalActionSummary);
 | 
								tv.CreateTimeCriticalActionSummary += new vlnTreeViewEvent(tv_CreateTimeCriticalActionSummary);
 | 
				
			||||||
 | 
								tv.RefreshFormats += new vlnTreeViewStatusEvent(RefreshFormats);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows;
 | 
								displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							void RefreshFormats(object sender, vlnTreeStatusEventArgs args)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Format.ClearFormatCache();
 | 
				
			||||||
 | 
								FormatInfo.ClearFormatInfoCache();
 | 
				
			||||||
 | 
								FormatInfo.Reset();
 | 
				
			||||||
 | 
								FormatInfoList.Reset();
 | 
				
			||||||
 | 
								Format.Reset();
 | 
				
			||||||
 | 
								FormatList.Reset();
 | 
				
			||||||
 | 
								displaySearch1.SetupContextMenu();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Part of Separate Windows upgrade C2015-022
 | 
							// Part of Separate Windows upgrade C2015-022
 | 
				
			||||||
		// Extend Changes to BookMark information to all of the child windows
 | 
							// Extend Changes to BookMark information to all of the child windows
 | 
				
			||||||
		void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args)
 | 
							void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -765,6 +765,19 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
				foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
 | 
									foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
 | 
				
			||||||
					dvi.ResetProcedures();
 | 
										dvi.ResetProcedures();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							public static void ResetAllProcedures()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								foreach (string key in _CacheByPrimaryKey.Keys)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
 | 
				
			||||||
 | 
										dvi.ResetProcedures();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								foreach (DocVersionInfo dvi in _CacheList)
 | 
				
			||||||
 | 
										dvi.ResetProcedures();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		#region IVEReadOnlyItem
 | 
							#region IVEReadOnlyItem
 | 
				
			||||||
		public System.Collections.IList GetChildren()
 | 
							public System.Collections.IList GetChildren()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -275,6 +275,14 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							public static void Reset()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								_LookupFormats?.Clear();
 | 
				
			||||||
 | 
								_LookupFormats = null;
 | 
				
			||||||
 | 
								_ = LookupFormats;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath)
 | 
							private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			string fmtdata = null;
 | 
								string fmtdata = null;
 | 
				
			||||||
@@ -509,7 +517,12 @@ public partial class FormatInfo : IFormatOrFormatInfo
 | 
				
			|||||||
				return _PROMSBaseFormat; 
 | 
									return _PROMSBaseFormat; 
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		public static FormatInfo Get(string name)
 | 
					        public static void Reset()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _PROMSBaseFormat = null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static FormatInfo Get(string name)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			try
 | 
								try
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1638,7 +1638,7 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
						// get the first enhanced section, there may be non-linked sections before first linked section:
 | 
											// get the first enhanced section, there may be non-linked sections before first linked section:
 | 
				
			||||||
						SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig;
 | 
											SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig;
 | 
				
			||||||
						ItemInfo pastedEnhancedCurrentSection = null;
 | 
											ItemInfo pastedEnhancedCurrentSection = null;
 | 
				
			||||||
						if (firstEnhSectionConfig.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
 | 
											if (firstEnhSectionConfig?.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
 | 
				
			||||||
						else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]);
 | 
											else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						// newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct
 | 
											// newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct
 | 
				
			||||||
@@ -1647,7 +1647,7 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
							foreach (ItemInfo sourceSect in Sections)
 | 
												foreach (ItemInfo sourceSect in Sections)
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig;
 | 
													SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig;
 | 
				
			||||||
								if (srcCfg != null && (srcCfg.Section_LnkEnh=="Y" || srcCfg.Section_LnkEnh=="T") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
 | 
													if (srcCfg != null && (srcCfg.Section_LnkEnh != "N") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
 | 
				
			||||||
								{
 | 
													{
 | 
				
			||||||
									// use pastedEnhancedCurrentSection to link to:
 | 
														// use pastedEnhancedCurrentSection to link to:
 | 
				
			||||||
									foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments)
 | 
														foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments)
 | 
				
			||||||
@@ -1664,7 +1664,7 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
									enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID;
 | 
														enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID;
 | 
				
			||||||
									enhSectCfg.SaveEnhancedDocuments();
 | 
														enhSectCfg.SaveEnhancedDocuments();
 | 
				
			||||||
									pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString());
 | 
														pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString());
 | 
				
			||||||
									if (srcCfg.Section_LnkEnh == "Y") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
 | 
														if (srcCfg.Section_LnkEnh != "T") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
 | 
				
			||||||
									pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
 | 
														pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
 | 
				
			||||||
								}
 | 
													}
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -97,6 +97,12 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
				if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get();
 | 
									if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get();
 | 
				
			||||||
			return null;
 | 
								return null;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							public static void Reset()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
								_MyFormatInfoList?.Clear();
 | 
				
			||||||
 | 
								_MyFormatInfoList = null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	public class DocStyleListConverter : System.ComponentModel.StringConverter
 | 
						public class DocStyleListConverter : System.ComponentModel.StringConverter
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -502,6 +502,15 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
            _FolderInfoExtension.Refresh(this);
 | 
					            _FolderInfoExtension.Refresh(this);
 | 
				
			||||||
            OnChange();// raise an event
 | 
					            OnChange();// raise an event
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
					        public static void ClearFolderInfoCache()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _CacheByPrimaryKey.Clear();
 | 
				
			||||||
 | 
					            while (_CacheList.Count > 0)
 | 
				
			||||||
 | 
					            { _CacheList[0].Dispose(); }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static FolderInfo Get(int folderID)
 | 
					        public static FolderInfo Get(int folderID)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //if (!CanGetObject())
 | 
					            //if (!CanGetObject())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -143,6 +143,14 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
            if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0];
 | 
					            if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0];
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
					        public static void ClearFormatCache()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _CacheByPrimaryKey.Clear();
 | 
				
			||||||
 | 
					            while (_CacheList.Count > 0)
 | 
				
			||||||
 | 
					            { _CacheList[0].Dispose(); }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
        #region Business Methods
 | 
					        #region Business Methods
 | 
				
			||||||
        private string _ErrorMessage = string.Empty;
 | 
					        private string _ErrorMessage = string.Empty;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,6 +71,13 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
            if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0];
 | 
					            if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0];
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        //C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
					        public static void ClearFormatInfoCache()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _CacheByPrimaryKey.Clear();
 | 
				
			||||||
 | 
					            while (_CacheList.Count > 0)
 | 
				
			||||||
 | 
					            { _CacheList[0].Dispose(); }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
        #region Business Methods
 | 
					        #region Business Methods
 | 
				
			||||||
        private string _ErrorMessage = string.Empty;
 | 
					        private string _ErrorMessage = string.Empty;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -119,6 +119,15 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
                return _MyUser;
 | 
					                return _MyUser;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        public string MyUserUserID
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | 
				
			||||||
 | 
					            get
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (_MyUser == null && _UID != 0) _MyUser = UserInfo.Get(_UID);
 | 
				
			||||||
 | 
					                return _MyUser?.UserID;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        private int _GID;
 | 
					        private int _GID;
 | 
				
			||||||
        public int GID
 | 
					        public int GID
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -139,6 +148,15 @@ namespace VEPROMS.CSLA.Library
 | 
				
			|||||||
                return _MyGroup;
 | 
					                return _MyGroup;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        public string MyGroupName
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | 
				
			||||||
 | 
					            get
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (_MyGroup == null && _GID != 0) _MyGroup = GroupInfo.Get(_GID);
 | 
				
			||||||
 | 
					                return _MyGroup?.GroupName;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        private string _StartDate = string.Empty;
 | 
					        private string _StartDate = string.Empty;
 | 
				
			||||||
        public string StartDate
 | 
					        public string StartDate
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -188,7 +188,6 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel5);
 | 
								this.tabSearchTypes.Controls.Add(this.tabControlPanel5);
 | 
				
			||||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel2);
 | 
								this.tabSearchTypes.Controls.Add(this.tabControlPanel2);
 | 
				
			||||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
 | 
								this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
 | 
				
			||||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel1);
 | 
					 | 
				
			||||||
			this.tabSearchTypes.Controls.Add(this.contextMenuBar1);
 | 
								this.tabSearchTypes.Controls.Add(this.contextMenuBar1);
 | 
				
			||||||
			this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top;
 | 
								this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top;
 | 
				
			||||||
			this.tabSearchTypes.Location = new System.Drawing.Point(0, 0);
 | 
								this.tabSearchTypes.Location = new System.Drawing.Point(0, 0);
 | 
				
			||||||
@@ -983,7 +982,6 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
 | 
								this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
 | 
				
			||||||
			this.tabControlPanel1.Controls.Add(this.groupBox1);
 | 
								this.tabControlPanel1.Controls.Add(this.groupBox1);
 | 
				
			||||||
			this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
 | 
								this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
 | 
				
			||||||
			this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
					 | 
				
			||||||
			this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
 | 
								this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
 | 
				
			||||||
			this.tabControlPanel1.Name = "tabControlPanel1";
 | 
								this.tabControlPanel1.Name = "tabControlPanel1";
 | 
				
			||||||
			this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
 | 
								this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
 | 
				
			||||||
@@ -997,6 +995,8 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			this.tabControlPanel1.Style.GradientAngle = 90;
 | 
								this.tabControlPanel1.Style.GradientAngle = 90;
 | 
				
			||||||
			this.tabControlPanel1.TabIndex = 17;
 | 
								this.tabControlPanel1.TabIndex = 17;
 | 
				
			||||||
			this.tabControlPanel1.TabItem = this.tabIncTrans;
 | 
								this.tabControlPanel1.TabItem = this.tabIncTrans;
 | 
				
			||||||
 | 
								this.tabControlPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(( System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
 | 
				
			||||||
 | 
								this.tabControlPanel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
 | 
				
			||||||
			// 
 | 
								// 
 | 
				
			||||||
			// btnTranCvtSelToTxt
 | 
								// btnTranCvtSelToTxt
 | 
				
			||||||
			// 
 | 
								// 
 | 
				
			||||||
@@ -1732,6 +1732,12 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			this.Controls.Add(this.xpStepTypes);
 | 
								this.Controls.Add(this.xpStepTypes);
 | 
				
			||||||
			this.Controls.Add(this.xpSetToSearch);
 | 
								this.Controls.Add(this.xpSetToSearch);
 | 
				
			||||||
			this.Controls.Add(this.tabSearchTypes);
 | 
								this.Controls.Add(this.tabSearchTypes);
 | 
				
			||||||
 | 
								this.Controls.Add(this.tabControlPanel1);
 | 
				
			||||||
 | 
								//B2025-056 Click on Incoming Transitions
 | 
				
			||||||
 | 
								// This needs to be part of overall control
 | 
				
			||||||
 | 
								// since if it is part of tabSearchTypes,
 | 
				
			||||||
 | 
								// then when that is disabled, buttons on
 | 
				
			||||||
 | 
								// this will be also
 | 
				
			||||||
			this.Margin = new System.Windows.Forms.Padding(2);
 | 
								this.Margin = new System.Windows.Forms.Padding(2);
 | 
				
			||||||
			this.Name = "DisplaySearch";
 | 
								this.Name = "DisplaySearch";
 | 
				
			||||||
			this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
 | 
								this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1857,14 +1857,15 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
				lbSrchResultsIncTrans.Enabled = false;
 | 
									lbSrchResultsIncTrans.Enabled = false;
 | 
				
			||||||
				lbSrchResultsIncTrans.UseWaitCursor = true;
 | 
									lbSrchResultsIncTrans.UseWaitCursor = true;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			ListBox mylb = sender as ListBox;
 | 
								//B2025-056 Click on Incoming Transitions
 | 
				
			||||||
 | 
								// Clicking on Incoming Transitions
 | 
				
			||||||
 | 
								// will now open that item
 | 
				
			||||||
 | 
								ListBox mylb_lbSrchResults = sender as ListBox;
 | 
				
			||||||
 | 
								ListBoxAdv mylb_lbSrchResultsIncTrans = sender as ListBoxAdv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// If the list is being refreshed, then set the selection index to -1 (no selection)
 | 
								// If the list is being refreshed, then set the selection index to -1 (no selection)
 | 
				
			||||||
			// B2022-044: don't set selection to top of list (commented out/changed if)
 | 
								// B2022-044: don't set selection to top of list (commented out/changed if)
 | 
				
			||||||
			//if (mylb != null && _SearchResults.RefreshingList && mylb.SelectedIndex != -1)
 | 
								if ((mylb_lbSrchResults != null || mylb_lbSrchResultsIncTrans != null) && !_SearchResults.RefreshingList)
 | 
				
			||||||
			//	//mylb.SelectedIndex = -1;
 | 
					 | 
				
			||||||
			//else
 | 
					 | 
				
			||||||
			if (mylb != null && !_SearchResults.RefreshingList)
 | 
					 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				_ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo;
 | 
									_ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo;
 | 
				
			||||||
				if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null))
 | 
									if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4190,15 +4190,19 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			if (oring == eEventSource.Keyboard)
 | 
								if (oring == eEventSource.Keyboard)
 | 
				
			||||||
				_OringFlg = 1;
 | 
									_OringFlg = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
 | 
				
			||||||
			if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
								if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
				
			||||||
			if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
								if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
				
			||||||
 | 
								MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
 | 
				
			||||||
			OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0);
 | 
								OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private void btnPdfQuickCreate_Click(object sender, EventArgs e)
 | 
							private void btnPdfQuickCreate_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
								int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
 | 
				
			||||||
			if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
								if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
				
			||||||
			if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
								if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
				
			||||||
 | 
								MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
 | 
				
			||||||
			OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1);
 | 
								OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								PROMS/Volian.Controls.Library/ToolStripMenuItemwithValue.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								PROMS/Volian.Controls.Library/ToolStripMenuItemwithValue.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					using System.Windows.Forms;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Volian.Controls.Library
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						//ToolStripMenuItem with Added Value Property
 | 
				
			||||||
 | 
						public class ToolStripMenuItemwithValue : ToolStripMenuItem
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public readonly object Value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public ToolStripMenuItemwithValue(string text, object value)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Value = value;
 | 
				
			||||||
 | 
								Text = text;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -384,6 +384,9 @@
 | 
				
			|||||||
    <Compile Include="TablePropertiesControl.Designer.cs">
 | 
					    <Compile Include="TablePropertiesControl.Designer.cs">
 | 
				
			||||||
      <DependentUpon>TablePropertiesControl.cs</DependentUpon>
 | 
					      <DependentUpon>TablePropertiesControl.cs</DependentUpon>
 | 
				
			||||||
    </Compile>
 | 
					    </Compile>
 | 
				
			||||||
 | 
					    <Compile Include="ToolStripMenuItemwithValue.cs">
 | 
				
			||||||
 | 
					      <SubType>Component</SubType>
 | 
				
			||||||
 | 
					    </Compile>
 | 
				
			||||||
    <Compile Include="TransPanel.cs">
 | 
					    <Compile Include="TransPanel.cs">
 | 
				
			||||||
      <SubType>Component</SubType>
 | 
					      <SubType>Component</SubType>
 | 
				
			||||||
    </Compile>
 | 
					    </Compile>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1269,6 +1269,11 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
					if (ok)
 | 
										if (ok)
 | 
				
			||||||
						if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click));
 | 
											if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click));
 | 
				
			||||||
					#endregion
 | 
										#endregion
 | 
				
			||||||
 | 
										#region Refresh_Tree
 | 
				
			||||||
 | 
										//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
										if (tn == (VETreeNode)Nodes[0])
 | 
				
			||||||
 | 
											cm.MenuItems.Add("Refresh Tree", new EventHandler(mi_Click));
 | 
				
			||||||
 | 
										#endregion
 | 
				
			||||||
					//_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true));
 | 
										//_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (fi != null && fi.HasWorkingDraft)
 | 
										if (fi != null && fi.HasWorkingDraft)
 | 
				
			||||||
@@ -2352,6 +2357,10 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
				case "Print All Approved Procedures": //C2025-017 print all approved procedures
 | 
									case "Print All Approved Procedures": //C2025-017 print all approved procedures
 | 
				
			||||||
					OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
										OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
 | 
									//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
									case "Refresh Tree":
 | 
				
			||||||
 | 
										RefreshTree();
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
				default:
 | 
									default:
 | 
				
			||||||
					if (mi.Text.StartsWith("Showing Change Bars Starting"))
 | 
										if (mi.Text.StartsWith("Showing Change Bars Starting"))
 | 
				
			||||||
						OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
											OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
				
			||||||
@@ -3926,6 +3935,13 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			if (Processing != null)
 | 
								if (Processing != null)
 | 
				
			||||||
				Processing(this, new vlnTreeStatusEventArgs(status, message));
 | 
									Processing(this, new vlnTreeStatusEventArgs(status, message));
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							public event vlnTreeViewStatusEvent RefreshFormats;
 | 
				
			||||||
 | 
							private void OnRefreshFormats(bool status, string message)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (RefreshFormats != null)
 | 
				
			||||||
 | 
									RefreshFormats(this, new vlnTreeStatusEventArgs(status, message));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		#endregion
 | 
							#endregion
 | 
				
			||||||
		#region SetLastValuesAndSaveIfChangedStuff
 | 
							#region SetLastValuesAndSaveIfChangedStuff
 | 
				
			||||||
		private void SetLastValues(VETreeNode node)
 | 
							private void SetLastValues(VETreeNode node)
 | 
				
			||||||
@@ -4648,6 +4664,36 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
				if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true;
 | 
									if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true;
 | 
				
			||||||
			return false;
 | 
								return false;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//C2021-035 Add Refresh Tree Option at highest level
 | 
				
			||||||
 | 
							public void RefreshTree()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
								//reload the base node
 | 
				
			||||||
 | 
								VETreeNode tbase = (VETreeNode) Nodes[0];
 | 
				
			||||||
 | 
								tbase.ChildrenLoaded = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//Refresh the formats
 | 
				
			||||||
 | 
								OnRefreshFormats(true, "Refreshing Formats");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//reset the procedure lists so db is re-queried in case they changed
 | 
				
			||||||
 | 
								//also clear other caches in case added steps / sections / etc...
 | 
				
			||||||
 | 
								PartInfo.ClearPartInfoCache();
 | 
				
			||||||
 | 
								ItemInfo.ClearItemInfoCache();
 | 
				
			||||||
 | 
								DocVersionInfo.ResetAllProcedures();
 | 
				
			||||||
 | 
								FolderInfo.ClearFolderInfoCache();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//Refresh the base VEPROMS object
 | 
				
			||||||
 | 
								var fldr = tbase.VEObject as FolderInfo;
 | 
				
			||||||
 | 
								if (fldr != null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									Invoke((Action)(() => { tbase.VEObject = FolderInfo.Get(fldr.FolderID); }));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//refresh the tree
 | 
				
			||||||
 | 
								Invoke((Action)(() => { tbase.RefreshNode(); }));
 | 
				
			||||||
 | 
								this.Invoke((Action)(() => { this.Update(); }));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	#region DragHelper
 | 
						#region DragHelper
 | 
				
			||||||
	public class DragHelper
 | 
						public class DragHelper
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user