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