109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Data;
 | |
| using System.Drawing;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| using VEPROMS.CSLA.Library;
 | |
| 
 | |
| namespace WinApp
 | |
| {
 | |
| 	public partial class frmAssignmentSelect : Form
 | |
| 	{
 | |
| 		Group _grp;
 | |
| 		FolderTreeNode _topnode;
 | |
| 		public frmAssignmentSelect(Group grp)
 | |
| 		{
 | |
| 			InitializeComponent();
 | |
| 			_grp = grp;
 | |
| 			this.Text = grp.GroupName + " Assignments";
 | |
| 			//_grp.BeginEdit();// Push
 | |
| 			_topnode = FolderTreeNode.BuildTreeList();
 | |
| 			tvFolder.Nodes.Add(_topnode);
 | |
| 			tvFolder.Nodes[0].Expand();
 | |
| 			roleInfoListBindingSource.DataSource = RoleInfoList.Get();
 | |
| 			//Initialize cmbRoles
 | |
| 			if (grp.GroupAssignments.Count > 0)
 | |
| 			{
 | |
| 				int rid = grp.GroupAssignments[0].RID;
 | |
| 				cmbRoles.SelectedValue = rid;
 | |
| 				SetupFolders(rid);
 | |
| 			}
 | |
| 		}
 | |
| 		private void BeforeFormClosing(object sender, FormClosingEventArgs e)
 | |
| 		{
 | |
| 			e.Cancel = (SaveAsNeeded() == DialogResult.Cancel);
 | |
| 		}
 | |
| 		private DialogResult SaveAsNeeded()
 | |
| 		{
 | |
| 			return DialogResult.Yes;
 | |
| 		}
 | |
| 		private void btnOK_Click(object sender, EventArgs e)
 | |
| 		{
 | |
| 			// This should save the changes to _grp.GroupAssignments
 | |
| 			_grp.ApplyEdit(); //Apply
 | |
| 		}
 | |
| 
 | |
| 		private void btnCancel_Click(object sender, EventArgs e)
 | |
| 		{
 | |
| 			// This should throw away any changes to _grp.GroupAssignments
 | |
| 			_grp.CancelEdit();// Pop
 | |
| 		}
 | |
| 
 | |
| 		private void btnRoles_Click(object sender, EventArgs e)
 | |
| 		{
 | |
| 			// TODO: Maybe should not be able to do this if unsaved data
 | |
| 			frmRoles fr = new frmRoles();
 | |
| 			fr.ShowDialog();
 | |
| 			roleInfoListBindingSource.DataSource = RoleInfoList.Get();
 | |
| 		}
 | |
| 
 | |
| 		private void tvFolder_BeforeCheck(object sender, TreeViewCancelEventArgs e)
 | |
| 		{
 | |
| 			if(!bSetup)
 | |
| 			{
 | |
| 				FolderTreeNode ftn = (FolderTreeNode)e.Node;
 | |
| 				if (!ftn.Checked)
 | |
| 				{
 | |
| 					MessageBox.Show("Conversion Error");
 | |
| 					//_grp.GroupAssignments.Add(int.Parse(cmbRoles.SelectedValue.ToString()), ftn.FolderInfo.FolderID);
 | |
| 				}
 | |
| 				else
 | |
| 				{
 | |
| 					MessageBox.Show("Conversion Error");
 | |
| 					//TODO: KBR _grp.GroupAssignments.Remove(ftn.FolderInfo.FolderID, int.Parse(cmbRoles.SelectedValue.ToString()));
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		private void cmbRoles_SelectedValueChanged(object sender, EventArgs e)
 | |
| 		{
 | |
| 			if (cmbRoles.SelectedIndex >= 0)
 | |
| 			{
 | |
| 				int rid = int.Parse(cmbRoles.SelectedValue.ToString());
 | |
| 				SetupFolders(rid);
 | |
| 			}
 | |
| 		}
 | |
| 		private bool bSetup = false;
 | |
| 		private void ResetTree(TreeNodeCollection tc)
 | |
| 		{
 | |
| 			foreach(TreeNode tn in tc)
 | |
| 			{
 | |
| 				tn.Checked=false;
 | |
| 				if(tn.Nodes != null)ResetTree(tn.Nodes);
 | |
| 			}
 | |
| 		}
 | |
| 		private void SetupFolders(int rid)
 | |
| 		{
 | |
| 			bSetup=true;
 | |
| 			ResetTree(tvFolder.Nodes);
 | |
| 			foreach(GroupAssignment ga in _grp.GroupAssignments)
 | |
| 			{
 | |
| 				if (ga.RID == rid)
 | |
| 					_topnode.FindTreeNode(ga.FolderID).Checked = true;
 | |
| 			}
 | |
| 			bSetup=false;
 | |
| 		}
 | |
| 	}
 | |
| } |