示例#1
0
        public bool HasSharePointGroup(RmPerson person, IList <RmReference> exclusiveGroupId)
        {
            foreach (RmGroup group in Base_GetResourceByAttribute(RmGroup.StaticResourceType(), RmGroup.AttributeNames.ExplicitMember.Name, person.ObjectID.Value,
                                                                  OperationType.Opration_Is, new string[] { RmResource.AttributeNames.ObjectID.Name, RmGroup.AttributeNames.FromSharePoint.Name }))
            {
                if (!group.FromSharePoint)
                {
                    continue;
                }

                if (exclusiveGroupId != null)
                {
                    bool containId = false;
                    foreach (RmReference reference in exclusiveGroupId)
                    {
                        if (reference.Value == group.ObjectID.Value)
                        {
                            containId = true;
                        }
                    }
                    if (!containId)
                    {
                        return(true);
                    }
                }
                else
                {
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
        public RmResource GetGroupDisplayedOwner(RmGroup group, string[] attributes)
        {
            RmPerson person = Base_GetResourceById(RmPerson.StaticResourceType(), group.DisplayedOwner.Value, attributes) as RmPerson;

            if (person != null)
            {
                return(person);
            }

            return(Base_GetResourceById(RmGroup.StaticResourceType(), group.DisplayedOwner.Value, attributes));
        }
示例#3
0
        public List <RmGroup> GetAssignedGroups(RmPerson person, string[] attributes)
        {
            List <RmGroup> retVal = new List <RmGroup>();

            string query = string.Format("[{0}='{1}' or {2}='{3}']",
                                         RmGroup.AttributeNames.ExplicitMember.Name,
                                         person.ObjectID.Value,
                                         RmGroup.AttributeNames.ComputedMember.Name,
                                         person.ObjectID.Value);

            foreach (RmGroup group in Base_GetResourceByQuery(RmGroup.StaticResourceType(), query, attributes))
            {
                if (group != null)
                {
                    retVal.Add(group);
                }
            }

            return(retVal);
        }
示例#4
0
        public List <RmGroup> GetAllGroupWithExplicitMember()
        {
            List <RmGroup> retVal = new List <RmGroup>();

            foreach (RmGroup gp in Base_GetAllResource(RmGroup.StaticResourceType(), new string[] {
                RmResource.AttributeNames.ObjectID.Name,
                RmResource.AttributeNames.DisplayName.Name,
                RmGroup.AttributeNames.ExplicitMember.Name,
                RmGroup.AttributeNames.Filter.Name,
                RmGroup.AttributeNames.FromSharePoint.Name
            }))
            {
                if (gp != null && (gp.Filter == null || gp.Filter == string.Empty))
                {
                    retVal.Add(gp);
                }
            }

            return(retVal);
        }
示例#5
0
        public bool ContainsGroup(string ouID, string groupName)
        {
            RmOrgUnit ou = new RmOrgUnit()
            {
                ObjectID = new RmReference(ouID)
            };

            foreach (string objectID in GetAssignedResources(ou))
            {
                RmGroup group = Base_GetResourceById(RmGroup.StaticResourceType(), objectID, new string[] { RmResource.AttributeNames.DisplayName.Name }) as RmGroup;

                if (group != null)
                {
                    if (group.DisplayName.Equals(groupName, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
示例#6
0
        public List <RmResource> GetGroupExplicitMembers(RmGroup group, string[] attributes)
        {
            List <RmResource> retVal = new List <RmResource>();

            foreach (RmReference memberRef in group.ExplicitMember)
            {
                RmPerson person = Base_GetResourceById(RmPerson.StaticResourceType(), memberRef.Value, attributes) as RmPerson;
                if (person != null)
                {
                    retVal.Add(person);
                    continue;
                }

                RmGroup gp = Base_GetResourceById(RmGroup.StaticResourceType(), memberRef.Value, attributes) as RmGroup;
                if (gp != null)
                {
                    retVal.Add(gp);
                }
            }

            return(retVal);
        }
示例#7
0
        public List <RmGroup> GetGroupByQuery(string query, string[] attributes)
        {
            List <RmResource> resourceList = Base_GetResourceByQuery(RmGroup.StaticResourceType(), query, attributes);

            return(resourceList.ConvertAll <RmGroup>(delegate(RmResource r) { return r as RmGroup; }));
        }
示例#8
0
        public List <RmGroup> GetGroupByAttribute(string attributeName, string value, OperationType operation, string[] attributes)
        {
            List <RmResource> resourceList = Base_GetResourceByAttribute(RmGroup.StaticResourceType(), attributeName, value, operation, attributes);

            return(resourceList.ConvertAll <RmGroup>(delegate(RmResource r) { return r as RmGroup; }));
        }
示例#9
0
 public RmGroup GetGroupById(string objectId, string[] attributes)
 {
     return(Base_GetResourceById(RmGroup.StaticResourceType(), objectId, attributes) as RmGroup);
 }
示例#10
0
 public RmGroup GetGroupByDisplayName(string displayName, string[] attributes)
 {
     return(Base_GetResourceByDisplayName(RmGroup.StaticResourceType(), displayName, attributes) as RmGroup);
 }
示例#11
0
        public List <RmGroup> GetAllGroup(string[] attributes)
        {
            List <RmResource> resourceList = Base_GetAllResource(RmGroup.StaticResourceType(), attributes);

            return(resourceList.ConvertAll <RmGroup>(delegate(RmResource r) { return r as RmGroup; }));
        }