SenseNet.ContentRepository.User.IsInGroup C# (CSharp) Method

IsInGroup() public method

public IsInGroup ( IGroup group ) : bool
group IGroup
return bool
		public bool IsInGroup(IGroup group)
		{
			return Security.IsInGroup(group.Id);
		}
        public bool IsInOrganizationalUnit(IOrganizationalUnit orgUnit)

Usage Example

Example #1
0
        // ======================================================================================== static methods
        public static IEnumerable<WorkspaceGroupList> GetWorkspaceGroupLists(User user)
        {
            // 1. query groups under workspaces
            var settings = new QuerySettings { EnableAutofilters = false };
            var groups = SenseNet.Search.ContentQuery.Query("+TypeIs:Group +Workspace:*", settings).Nodes;

            // 2. select groups in which the current user is a member (Owner, Editor)
            var wsGroups = groups.Select(g => new WorkspaceGroup { Workspace = (g as SenseNet.ContentRepository.Group).Workspace, Group = (g as SenseNet.ContentRepository.Group) });
            wsGroups = wsGroups.Where(wsg => user.IsInGroup(wsg.Group));

            // 3. group by workspaces
            var wsGroupLists = from wsg in wsGroups
                               orderby wsg.Workspace.DisplayName
                               group wsg by wsg.Workspace into w
                               select new WorkspaceGroupList { Workspace = w.Key, Groups = w };
            
            return wsGroupLists;
        }