public PermissionGroup(PermissionGroupData data) { Id = data.Id; Priority = data.Priority; DisplayName = data.DisplayName; Parents = data.Parents; IsAutoAssigned = data.IsAutoAssigned; Permissions = data.Permissions; }
/// <summary> /// 递归创建权限树视图模型。 /// </summary> /// <param name="groupTreeViewModel"></param> /// <param name="group"></param> private void Initialize(PermissionTreeViewModel groupTreeViewModel, PermissionGroupData group) { group.Children.ForEach(childGroup => { // 如果是组,则需要递归初始化视图模型 var childGroupTreeViewModel = new PermissionTreeViewModel() { Text = childGroup.Name, Parent = groupTreeViewModel, Tag = childGroup }; groupTreeViewModel.Children.Add(childGroupTreeViewModel); Initialize(childGroupTreeViewModel, childGroup); }); group.Permissions.ForEach(permission => { // 如果是权限,则已经是叶子节点 var permissionTreeViewModel = new PermissionTreeViewModel() { Text = permission.Name, Parent = groupTreeViewModel, Tag = permission }; groupTreeViewModel.Children.Add(permissionTreeViewModel); }); }