Пример #1
0
        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);
        }
Пример #2
0
        private void OnBeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            DataNode node = e.Node as DataNode;

            ExpandNode(node);
        }
Пример #3
0
        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();
        }