private void RefreshInternal(ItemView itemView, UserGroupBase group) { itemView.Icon = Icons.Icon.ChevronRight; itemView.Content = group.Name; itemView.Margin = new Thickness(0, 1, 0, 0); itemView.Tag = group; }
public override void AddUserToGroup(UserGroupBase group, UserBase user) { group = _groups.Single(x => x.Name.Equals(group.Name)); if (!group.UsersIds.Any(x => x.Equals(user.Id))) { group.UsersIds.Add(user.Id); SaveGroupsList(); } }
public override void Add(UserGroupBase group) { if (_groups.Any(x => x.Name.Equals(group.Name))) { throw new InvalidOperationException("Group with same name already exist"); } _groups.Add(group); SaveGroupsList(); }
private void BuildNode(UserGroupBase ug, TreeNode node) { if (newAssignedPermissions.Contains(ug)) { node.Checked = true; } else if (newInheritedPermissions.Contains(ug)) { node.Checked = true; node.ForeColor = SystemColors.GrayText; } if (inheritedPermissions.Contains(ug) && newInheritedPermissions.Contains(ug)) { node.Text += " [included]"; } else if (addedIncludes.Contains(ug)) { node.BackColor = addedIncludeColor; node.ForeColor = SystemColors.GrayText; node.Text += " [added include]"; } else if (removedIncludes.Contains(ug)) { node.BackColor = removedIncludeColor; node.ForeColor = SystemColors.GrayText; node.Text += " [removed include]"; } if (addedPermissions.Contains(ug)) { node.BackColor = addedAssignmentColor; node.ForeColor = SystemColors.ControlText; node.Text += " [added assignment]"; } else if (removedPermissions.Contains(ug)) { node.BackColor = removedAssignmentColor; node.ForeColor = SystemColors.ControlText; node.Text += " [removed assignment]"; } if (Content != null && ug != null && ug.Id != Guid.Empty && Content.OwnerUserId == ug.Id) { node.ForeColor = projectOwnerColor; } }
private ListViewItem CreateListViewItem(UserGroupBase item) { ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = item.ToString(); itemsListView.SmallImageList.Images.Add(item.ItemImage); listViewItem.ImageIndex = itemsListView.SmallImageList.Images.Count - 1; listViewItem.Tag = item; if (item is UserGroup) { listViewItem.SubItems.Insert(0, new ListViewItem.ListViewSubItem(listViewItem, item.ToString())); listViewItem.SubItems.Insert(1, new ListViewItem.ListViewSubItem(listViewItem, string.Empty)); listViewItem.Group = itemsListView.Groups[0]; } else if (item is LightweightUser) { var lu = item as LightweightUser; listViewItem.SubItems.Insert(0, new ListViewItem.ListViewSubItem(listViewItem, lu.UserName)); listViewItem.SubItems.Insert(1, new ListViewItem.ListViewSubItem(listViewItem, lu.FullName)); listViewItem.Group = itemsListView.Groups[1]; } return listViewItem; }
public override void Remove(UserGroupBase group) { _groups.RemoveAll(x => x.Name.Equals(group.Name)); SaveGroupsList(); }
public override void RemoveUserFromGroup(UserGroupBase group, UserBase user) { group = _groups.Single(x => x.Name.Equals(group.Name)); group.UsersIds.RemoveAll(x => x.Equals(user.Id)); SaveGroupsList(); }
private UserGroupBase BuildPermissionsList(IEnumerable <UserGroupBase> usersAndGroups) { addedPermissions = newAssignedPermissions.Except(assignedPermissions); removedPermissions = assignedPermissions.Except(newAssignedPermissions); addedIncludes = newInheritedPermissions.Except(inheritedPermissions); removedIncludes = inheritedPermissions.Except(newInheritedPermissions); treeView.Nodes.Clear(); if (!usersAndGroups.Any()) { return(null); } treeView.BeforeCheck -= treeView_BeforeCheck; treeView.AfterCheck -= treeView_AfterCheck; var userGroups = new HashSet <UserGroup>(usersAndGroups.OfType <UserGroup>()); var users = new HashSet <LightweightUser>(usersAndGroups.OfType <LightweightUser>()); UserGroupBase first = null; var groupsNode = new TreeNode("Groups") { ForeColor = SystemColors.GrayText }; groupsNode.ImageIndex = groupsNode.SelectedImageIndex = userGroupImageIndex; foreach (var group in userGroups.OrderBy(x => x.Name)) { var node = new TreeNode(group.Name) { Tag = group }; node.ImageIndex = userGroupImageIndex; node.SelectedImageIndex = node.ImageIndex; BuildNode(group, node); groupsNode.Nodes.Add(node); if (first == null) { first = group; } } var usersNode = new TreeNode("Users") { ForeColor = SystemColors.GrayText }; usersNode.ImageIndex = usersNode.SelectedImageIndex = userImageIndex; foreach (var user in users.OrderBy(x => x.ToString())) { var node = new TreeNode(user.ToString()) { Tag = user }; node.ImageIndex = userImageIndex; node.SelectedImageIndex = node.ImageIndex; BuildNode(user, node); usersNode.Nodes.Add(node); if (first == null) { first = user; } } treeView.Nodes.Add(groupsNode); treeView.Nodes.Add(usersNode); treeView.BeforeCheck += treeView_BeforeCheck; treeView.AfterCheck += treeView_AfterCheck; treeView.ExpandAll(); return(first); }