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;
 | 
						|
		}
 | 
						|
	}
 | 
						|
} |