Beispiel #1
0
        public JsonResult GetAllTerritories(int?userId = null)
        {
            var tree = new List <JsTreeVM>();

            var allTerritories     = UnitOfWork.TerritoriesBL.GetAllActive();
            var grantedTerritories = UnitOfWork.TerritoriesBL.GetAllByUserId(userId.GetValueOrDefault());

            for (int i = 0; i < allTerritories.Count; i++)
            {
                var item = allTerritories[i];
                var node = new JsTreeVM
                {
                    Id     = item.TerritoryId.ToString(),
                    State  = new Models.TreeNodeStatus(),
                    Parent = "#",
                    Text   = item.Name,
                };
                if (item.ParentId != null)
                {
                    node.Parent = item.ParentId.ToString();
                }
                if (grantedTerritories.Contains(item) && allTerritories.All(p => p.ParentId != item.TerritoryId))
                {
                    node.State.Opened   = true;
                    node.State.Selected = true;
                }
                tree.Add(node);
            }
            return(Json(new
            {
                Success = true,
                Data = tree
            }));
        }
Beispiel #2
0
        public JsonResult GetAllPermissions(int?roleId = null)
        {
            var tree = new List <JsTreeVM>();

            var allPermissions = UnitOfWork.PermissionBL.GetAll();

            var grantedPermissions = UnitOfWork.PermissionBL.GetAllByRole(roleId.GetValueOrDefault());

            for (int i = 0; i < allPermissions.Count; i++)
            {
                var item = allPermissions[i];
                var node = new JsTreeVM
                {
                    Id           = item.Id.ToString(),
                    State        = new Models.TreeNodeStatus(),
                    Parent       = "#",
                    Text         = item.DisplayName,
                    CanBeLanding = !string.IsNullOrEmpty(item.PermissionUrl),
                };
                if (item.ParentId != null)
                {
                    node.Parent = item.ParentId.ToString();
                }
                if (grantedPermissions.Contains(item) && allPermissions.All(p => p.ParentId != item.Id))
                {
                    node.State.Opened   = true;
                    node.State.Selected = true;
                }
                tree.Add(node);
            }
            return(Json(new
            {
                Success = true,
                Data = tree
            }));
        }