private JsonResult SelectList(string type, int id)
        {
            IList <PermissionItemType> objList = NSession.CreateQuery("from PermissionItemType").List <PermissionItemType>();
            //获得这个类型的菜单权限
            List <PermissionScopeType> scopeList = NSession.CreateQuery("from PermissionScopeType where ResourceCategory=:p1 and ResourceId=:p2 and TargetCategory =:p3").SetString("p1", type).SetInt32("p2", Convert.ToInt32(id)).SetString("p3", TargetCategoryEnum.PermissionItem.ToString()).List <PermissionScopeType>().ToList <PermissionScopeType>();

            IList <PermissionItemType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            List <SystemTree>          tree      = new List <SystemTree>();;
            SystemTree root = new SystemTree {
                id = "0", text = "所有权限"
            };

            foreach (PermissionItemType item in fristList)
            {
                List <PermissionItemType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List <SystemTree> tree2 = ConvertToTree(fooList, scopeList);
                if (scopeList.FindIndex(p => p.TargetId == item.Id) >= 0)
                {
                    root.children.Add(new SystemTree {
                        id = item.Id.ToString(), text = item.FullName, children = tree2
                    });
                }
                else
                {
                    root.children.Add(new SystemTree {
                        id = item.Id.ToString(), text = item.FullName, children = tree2
                    });
                }
                GetChildren(objList, item, tree2);
            }
            tree.Add(root);
            return(Json(tree));
        }
Пример #2
0
        public JsonResult SelectList(int Id)
        {
            IList <AccountType> objList = NSession.CreateQuery("from AccountType").List <AccountType>();
            //获得这个类型的菜单权限
            List <PermissionScopeType> scopeList = NSession.CreateQuery("from PermissionScopeType where ResourceCategory=:p1 and ResourceId=:p2 and TargetCategory =:p3").SetString("p1", ResourceCategoryEnum.User.ToString()).SetInt32("p2", Id).SetString("p3", TargetCategoryEnum.Account.ToString()).List <PermissionScopeType>().ToList <PermissionScopeType>();
            List <SystemTree>          tree      = new List <SystemTree>();;
            SystemTree root = new SystemTree {
                id = "0", text = "所有账户"
            };

            foreach (string item in Enum.GetNames(typeof(PlatformEnum)))
            {
                List <AccountType> fooList = objList.Where(p => p.Platform == item).OrderByDescending(p => p.AccountName).ToList();
                List <SystemTree>  tree2   = ConvertToTree(fooList, scopeList);

                if (scopeList.FindIndex(p => p.TargetId == Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item))) >= 0)
                {
                    root.children.Add(new SystemTree {
                        id = Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item)).ToString(), text = item, children = tree2, @checked = true
                    });
                }
                else
                {
                    root.children.Add(new SystemTree {
                        id = Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item)).ToString(), text = item, children = tree2
                    });
                }
            }

            tree.Add(root);
            return(Json(tree));
        }
Пример #3
0
        /// <summary>
        /// Creates a new branch in the system tree.
        /// </summary>
        /// <returns>The generated branch.</returns>
        public SystemTree Branch(Planet node = null)
        {
            SystemTree nextBranch = new SystemTree();

            nextBranch.Node = node;

            _subSystems.Add(nextBranch);
            return(nextBranch);
        }
Пример #4
0
 private void GetChildren(IList <ProductCategoryType> objList, ProductCategoryType item, List <SystemTree> trees)
 {
     foreach (ProductCategoryType k in item.children)
     {
         SystemTree tree = trees.Find(p => p.id == k.Id.ToString());
         List <ProductCategoryType> kList = objList.Where(p => p.ParentId == k.Id).OrderByDescending(p => p.SortCode).ToList();
         k.children = kList;
         List <SystemTree> mlist = ConvertToTree(kList);
         tree.children = mlist;
         GetChildren(objList, k, mlist);
     }
 }
Пример #5
0
    /// <summary>
    /// Creates the root.
    /// </summary>
    private void CreateRoot()
    {
        GameObject systemRoot = new GameObject("Root");

        _systemRoot = systemRoot.transform;
        _systemRoot.SetParent(transform);

        _systemRoot.localPosition = Vector3.zero;
        _systemRoot.localRotation = Quaternion.identity;
        _systemRoot.localScale    = Vector3.one;

        _systemTree = new SystemTree();
    }
Пример #6
0
    /// <summary>
    /// Creates a planet asynchronously.
    /// </summary>
    /// <param name="node">The parent node.</param>
    /// <param name="parent">The parent transform.</param>
    /// <param name="radius">The radius of the planet.</param>
    /// <param name="moonsCount">The number of moons.</param>
    /// <param name="maxDistance">The maximum distance around the parent transform the planet can generate in.</param>
    /// <returns>An awaitable task</returns>
    private async Task CreatePlanetAsync(SystemTree node, Transform parent, System.Random seeder, float radius, int moonsCount, float maxDistance, bool hasAtmosphere, bool canHaveRings = true, float minDistance = 0)
    {
        GameObject nextPlanet = new GameObject("AutoPlanet");

        nextPlanet.layer = LayerMask.NameToLayer("Backdrop");
        Transform planetTransform = nextPlanet.transform;

        planetTransform.SetParent(parent);
        planetTransform.localPosition = Random.insideUnitSphere * maxDistance;

        if (planetTransform.localPosition.sqrMagnitude < minDistance * minDistance)
        {
            planetTransform.localPosition = planetTransform.localPosition.normalized * minDistance;
        }

        Planet planetComponent = nextPlanet.AddComponent <Planet>();

        planetComponent.Radius             = radius;
        planetComponent.Steps              = _detail;
        planetComponent.GroundMaterial     = _planetGroundMaterial;
        planetComponent.AtmosphereMaterial = _planetAtmosphereMaterial;
        planetComponent.SetSun(_sun);
        planetComponent.Rotation      = new Vector3(Random.Range(0, 360), Random.Range(0, 360), Random.Range(0, 360));
        planetComponent.Seed          = seeder.Next();
        planetComponent.HasAtmosphere = hasAtmosphere;
        planetComponent.HasRings      = canHaveRings && seeder.NextDouble() > (1 - _ringChance);

        await planetComponent.Load();

        SystemTree newRoot = node.Branch(planetComponent);

        while (moonsCount-- > 0)
        {
            float moonRadius   = Random.Range(_minMoonSize, _maxMoonSize);
            float moonDistance = radius + moonRadius + _maxMoonDistance;

            await CreatePlanetAsync(
                newRoot,
                planetTransform,
                seeder,
                moonRadius,
                0,
                moonDistance,
                false,
                false,
                moonDistance
                );
        }
    }
Пример #7
0
        public SystemTree GetList(Guid ParentID)
        {
            SystemTree model = new SystemTree();

            model.IsLastTree      = true; //默认其自身是最后一级
            model.IsChildLastTree = true; //默认其自身为最后一级 则无子集
            model.TreeList        = _cSystemTreeAdapter.GetSystemTreeListByID(ParentID).ToList();
            if (model.TreeList.Count > 0)
            {
                model.IsLastTree = false;                                                                                 //
                List <C_SystemTree> ChildTree = _cSystemTreeAdapter.GetSystemTreeListByID(model.TreeList[0].ID).ToList(); //取其子集的第一项,看其是否有子集
                if (ChildTree.Count > 0)
                {
                    model.IsChildLastTree = false;
                }
            }
            return(model);
        }
Пример #8
0
        public void Bind(IEnumerable <SysDepartment> entitys, string myMyParentId, ref List <SystemTree> myChildren)
        {
            listTree = from o in entitys
                       where o.MyParentId == myMyParentId
                       select o;//叶子节点

            foreach (var item in listTree)
            {
                SystemTree node = new SystemTree()
                {
                    id = item.Id, text = item.Name
                };

                if (entitys.Any(t => t.MyParentId == item.Id))
                {//包含子节点可以展示
                    node.state = "closed";
                }

                myChildren.Add(node);
            }
        }
Пример #9
0
        public JsonResult ParentList()
        {
            IList <ProductCategoryType> objList   = NSession.CreateQuery("from ProductCategoryType").List <ProductCategoryType>();
            IList <ProductCategoryType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            SystemTree tree = new SystemTree {
                id = "0", text = "根目录"
            };
            List <SystemTree> trees = new List <SystemTree>();

            foreach (ProductCategoryType item in fristList)
            {
                List <ProductCategoryType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List <SystemTree> tree2 = ConvertToTree(fooList);
                tree.children.Add(new SystemTree {
                    id = item.Id.ToString(), text = item.Name, children = tree2
                });
                GetChildren(objList, item, tree2);
            }
            trees.Add(tree);
            return(Json(trees));
        }
        public JsonResult ParentList()
        {
            var root = new SystemTree {
                id = "0", text = "root"
            };
            IList <OrganizeType> objList   = NSession.CreateQuery("from OrganizeType").List <OrganizeType>();
            IList <OrganizeType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            List <SystemTree>    tree      = new List <SystemTree>();

            tree.Add(root);
            foreach (OrganizeType item in fristList)
            {
                List <OrganizeType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List <SystemTree> tree2 = ConvertToTree(fooList);

                GetChildren(objList, item, tree2);
                root.children.Add(new SystemTree {
                    id = item.Id.ToString(), text = item.ShortName, children = tree2
                });
            }
            return(Json(tree));
        }
        public JsonResult ParentList()
        {
            var root = new SystemTree { id = "0", text = "root" };
            IList<OrganizeType> objList = NSession.CreateQuery("from OrganizeType").List<OrganizeType>();
            IList<OrganizeType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            List<SystemTree> tree = new List<SystemTree>();
            tree.Add(root);
            foreach (OrganizeType item in fristList)
            {
                List<OrganizeType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List<SystemTree> tree2 = ConvertToTree(fooList);

                GetChildren(objList, item, tree2);
                root.children.Add(new SystemTree { id = item.Id.ToString(), text = item.ShortName, children = tree2 });

            }
            return Json(tree);
        }
        private JsonResult SelectList(string type, int id)
        {
            IList<PermissionItemType> objList = NSession.CreateQuery("from PermissionItemType").List<PermissionItemType>();
            //获得这个类型的菜单权限
            List<PermissionScopeType> scopeList = NSession.CreateQuery("from PermissionScopeType where ResourceCategory=:p1 and ResourceId=:p2 and TargetCategory =:p3").SetString("p1", type).SetInt32("p2", Convert.ToInt32(id)).SetString("p3", TargetCategoryEnum.PermissionItem.ToString()).List<PermissionScopeType>().ToList<PermissionScopeType>();

            IList<PermissionItemType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            List<SystemTree> tree = new List<SystemTree>(); ;
            SystemTree root = new SystemTree { id = "0", text = "所有权限" };
            foreach (PermissionItemType item in fristList)
            {
                List<PermissionItemType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List<SystemTree> tree2 = ConvertToTree(fooList, scopeList);
                if (scopeList.FindIndex(p => p.TargetId == item.Id) >= 0)
                {
                    root.children.Add(new SystemTree { id = item.Id.ToString(),text = item.FullName, children = tree2});
                }
                else
                {
                    root.children.Add(new SystemTree { id = item.Id.ToString(), text = item.FullName, children = tree2 });
                }
                GetChildren(objList, item, tree2);
            }
            tree.Add(root);
            return Json(tree);
        }
        public JsonResult SelectList(int Id)
        {
            IList<AccountType> objList = NSession.CreateQuery("from AccountType").List<AccountType>();
            //获得这个类型的菜单权限
            List<PermissionScopeType> scopeList = NSession.CreateQuery("from PermissionScopeType where ResourceCategory=:p1 and ResourceId=:p2 and TargetCategory =:p3").SetString("p1", ResourceCategoryEnum.User.ToString()).SetInt32("p2", Id).SetString("p3", TargetCategoryEnum.Account.ToString()).List<PermissionScopeType>().ToList<PermissionScopeType>();
            List<SystemTree> tree = new List<SystemTree>(); ;
            SystemTree root = new SystemTree { id = "0", text = "所有账户" };
            foreach (string item in Enum.GetNames(typeof(PlatformEnum)))
            {
                List<AccountType> fooList = objList.Where(p => p.Platform == item).OrderByDescending(p => p.AccountName).ToList();
                List<SystemTree> tree2 = ConvertToTree(fooList, scopeList);

                if (scopeList.FindIndex(p => p.TargetId == Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item))) >= 0)
                {

                    root.children.Add(new SystemTree { id = Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item)).ToString(), text = item, children = tree2, @checked = true });
                }
                else
                {
                    root.children.Add(new SystemTree { id = Convert.ToInt32((PlatformEnum)Enum.Parse(typeof(PlatformEnum), item)).ToString(), text = item, children = tree2 });
                }
            }

            tree.Add(root);
            return Json(tree);
        }
        public JsonResult ParentList()
        {
            IList<ProductCategoryType> objList = NSession.CreateQuery("from ProductCategoryType").List<ProductCategoryType>();
            IList<ProductCategoryType> fristList = objList.Where(p => p.ParentId == 0).OrderByDescending(p => p.SortCode).ToList();
            SystemTree tree = new SystemTree { id = "0", text = "根目录" };
            List<SystemTree> trees = new List<SystemTree>();
            foreach (ProductCategoryType item in fristList)
            {
                List<ProductCategoryType> fooList = objList.Where(p => p.ParentId == item.Id).OrderByDescending(p => p.SortCode).ToList();
                item.children = fooList;
                List<SystemTree> tree2 = ConvertToTree(fooList);
                tree.children.Add(new SystemTree { id = item.Id.ToString(), text = item.Name, children = tree2 });
                GetChildren(objList, item, tree2);

            }
            trees.Add(tree);
            return Json(trees);
        }