Esempio n. 1
0
        private TreeNode AddNode(TreeNode groupNode, Model.AccessPermissionTree accessPermissionTree, Type[] types)
        {
            TreeNode node    = new TreeNode(accessPermissionTree.Title);
            object   control = GetControl(accessPermissionTree, types);

            if (control != null)
            {
                node.Tag = control;
                if (control is Control)
                {
                    node.ToolTipText = (control as Control).Name;
                }
            }
            if (groupNode == null)
            {
                treeView.Nodes.Add(node);
            }
            else
            {
                groupNode.Nodes.Add(node);
            }
            node.Checked = accessPermissionTree.Visible;
            node.Name    = accessPermissionTree.ID.ToString();
            return(node);
        }
Esempio n. 2
0
        private object GetControl(Model.AccessPermissionTree accessPermissionTree, Type[] types)
        {
            var query = types.Where(t => t.Name == accessPermissionTree.Item);

            if (query.Count() == 1)
            {
                return(GetForm(query.Single()));
            }
            else
            {
                if (accessPermissionTree.Group != null)
                {
                    var subquery = types.Where(t => t.Name == accessPermissionTree.Group);
                    if (subquery.Count() == 1)
                    {
                        Form form = GetForm(subquery.Single());
                        if (form != null)
                        {
                            return(GetControl(form, accessPermissionTree.Item));
                        }
                    }
                    return(null);
                }
                return(null);
            }
        }
Esempio n. 3
0
 private void AddSubNodes(Model.MainModelDataContext dc, TreeNode groupNode, Model.AccessPermissionTree accessPermissionTree, Type[] types)
 {
     foreach (var item in dc.AccessPermissionTrees.Where(t => t.Group == accessPermissionTree.Item))
     {
         TreeNode node = AddNode(groupNode, item, types);
         AddSubNodes(dc, node, item, types);
     }
 }
Esempio n. 4
0
        private void SaveNodes(TreeNodeCollection treeNodeCollection, Model.MainModelDataContext dc)
        {
            foreach (TreeNode item in treeNodeCollection)
            {
                //int code;
                //var codeQuery = dc.AccessPermissionTrees.Select(t => t.ID).ToArray();
                //if (codeQuery.Count() == 0)
                //    code = 1;
                //else
                //    code = codeQuery.Max() + 1;

                Njit.Common.IAccessPermission c      = item.Tag as Njit.Common.IAccessPermission;
                Model.AccessPermissionTree    entity = Model.AccessPermissionTree.GetNewInstance(c == null ? item.Text : c.GetPath(), item.Parent == null ? null : GetParentName(item), item.Text, item.Checked, false);
                int originalCode;
                if (int.TryParse(item.Name, out originalCode))
                {
                    var query = dc.AccessPermissionTrees.Where(t => t.ID == originalCode);
                    if (query.Count() == 1)
                    {
                        Model.AccessPermissionTree originalEntity = query.Single();
                        //Model.AccessPermissionTree.Copy(originalEntity, entity);
                        this.DataAccess.UpdateWithObject(entity, originalEntity);
                        //originalEntity.ID = originalCode;
                    }
                }
                else
                {
                    this.DataAccess.InsertObject(entity);
                    //dc.AccessPermissionTrees.InsertOnSubmit(entity);
                }
                dc.SubmitChanges();

                if (item.Nodes.Count > 0)
                {
                    SaveNodes(item.Nodes, dc);
                }
            }
        }