Example #1
0
 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;
 }
Example #2
0
 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();
     }
 }
Example #3
0
 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;
    }
Example #6
0
 public override void Remove(UserGroupBase group)
 {
     _groups.RemoveAll(x => x.Name.Equals(group.Name));
     SaveGroupsList();
 }
Example #7
0
 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);
        }