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 })); }
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 })); }