Пример #1
0
        bool IActiveGroupMembershipInterface.TryGetValue(UGUI requestingAgent, UGUI principal, out GroupActiveMembership gam)
        {
            UUID              activeid;
            MemoryGroupInfo   info;
            MemoryGroupMember mem;

            if (m_ActiveGroups.TryGetValue(principal, out activeid) &&
                activeid != UUID.Zero &&
                m_Groups.TryGetValue(activeid, out info) &&
                info.Members.TryGetValue(principal, out mem))
            {
                gam = new GroupActiveMembership
                {
                    User           = principal,
                    Group          = info.ID,
                    SelectedRoleID = mem.ActiveRoleID
                };
            }
            else
            {
                gam = new GroupActiveMembership
                {
                    User           = principal,
                    Group          = UGI.Unknown,
                    SelectedRoleID = UUID.Zero
                };
            }
            return(true);
        }
        bool IActiveGroupMembershipInterface.TryGetValue(UGUI requestingAgent, UGUI principal, out GroupActiveMembership gam)
        {
            gam = default(GroupActiveMembership);
            UGI activegroup;

            if (!ActiveGroup.TryGetValue(requestingAgent, principal, out activegroup))
            {
                return(false);
            }
            GroupInfo group;

            if (!Groups.TryGetValue(requestingAgent, activegroup, out group))
            {
                return(false);
            }

            GroupMember gmem;

            if (!Members.TryGetValue(requestingAgent, activegroup, principal, out gmem))
            {
                return(false);
            }

            GroupRole role;

            if (!Roles.TryGetValue(requestingAgent, activegroup, gmem.SelectedRoleID, out role))
            {
                return(false);
            }

            gam = new GroupActiveMembership
            {
                Group          = group.ID,
                SelectedRoleID = gmem.SelectedRoleID,
                User           = gmem.Principal
            };
            return(true);
        }
        bool IActiveGroupMembershipInterface.TryGetValue(UGUI requestingAgent, UGUI principal, out GroupActiveMembership gam)
        {
            GroupsServiceInterface groupsService;

            gam = default(GroupActiveMembership);
            return(TryGetGroupsService(principal, out groupsService) && groupsService.ActiveMembership.TryGetValue(requestingAgent, principal, out gam));
        }