private DataNode AddTreeNode(DataNode parentNode, DirectoryEntry entry) { bool hasChildren = true; DataNode node = new DataNode(); node.Text = (string)entry.Properties["name"].Value; node.NodeType = entry.SchemaClassName; int imageIndex = 2; switch (entry.SchemaClassName) { case OU: imageIndex = 1; break; case CONTAINER: imageIndex = 2; break; case COMPUTER: imageIndex = 3; break; case USER: imageIndex = 4; hasChildren = false; break; case CONTACT: imageIndex = 8; hasChildren = false; break; case GROUP: imageIndex = 5; hasChildren = false; break; default: imageIndex = 6; break; } node.SelectedImageIndex = imageIndex; node.ImageIndex = imageIndex; node.Tag = entry; if (hasChildren) { node.Populated = false; DataNode tmpNode = new DataNode(); tmpNode.Text = "Expanding..."; tmpNode.SelectedImageIndex = 2; tmpNode.ImageIndex = 2; tmpNode.NodeType = TMP; node.Nodes.Add(tmpNode); } else { node.Populated = true; } if (parentNode != null) { parentNode.Nodes.Add(node); } else { ouTree.Nodes.Add(node); } return(node); }
private void OnBeforeExpand(object sender, TreeViewCancelEventArgs e) { DataNode node = e.Node as DataNode; ExpandNode(node); }
private void OnSelectClick(object sender, EventArgs e) { DataNode node = spaceTree.SelectedNode as DataNode; if (node == null || node.NodeType != SPACE) { ShowWarning("Please select hosting space."); return; } PackageInfo data = node.Tag as PackageInfo; if (data == null || data.PackageId == 0 || data.PackageId == 1) { //ShowWarning("Invalid hosting space. Please select hosting space with allowed Exchange organizations."); return; } PackageContext cntx = null; try { cntx = PackageController.GetPackageContext(data.PackageId); } catch (Exception ex) { ShowError("Unable to load space data", ex); return; } if (cntx == null) { //ShowWarning("Invalid hosting space. Please select hosting space with allowed Exchange organizations."); return; } bool exchangeEnabled = false; bool orgEnabled = false; foreach (HostingPlanGroupInfo group in cntx.GroupsArray) { if (!group.Enabled) { continue; } if (group.GroupName == ResourceGroups.Exchange) { exchangeEnabled = true; continue; } else if (group.GroupName == ResourceGroups.HostedOrganizations) { orgEnabled = true; continue; } } if (!orgEnabled) { ShowWarning("Invalid hosting space. Please select hosting space with allowed organizations."); return; } Global.IsExchange = exchangeEnabled; this.selectedSpace = data; this.DialogResult = DialogResult.OK; this.Close(); }