Glyma.SharePoint.Security.GlymaSecurityGroupCollection.ExistsInHigherPermissionLevel C# (CSharp) Method

ExistsInHigherPermissionLevel() private method

Checks if the the group appears in a higher permission level
private ExistsInHigherPermissionLevel ( GlymaSecurityGroup group, GlymaPermissionLevel currentPermissionLevel ) : bool
group Glyma.Security.GlymaSecurityGroup
currentPermissionLevel GlymaPermissionLevel
return bool
        private bool ExistsInHigherPermissionLevel(GlymaSecurityGroup group, GlymaPermissionLevel currentPermissionLevel)
        {
            bool result = false;

            IList<GlymaSecurityGroup> projectManagerGroups = _groups[GlymaPermissionLevel.GlymaProjectManager];
            IList<GlymaSecurityGroup> mapManagersGroups = _groups[GlymaPermissionLevel.GlymaMapManager];
            IList<GlymaSecurityGroup> mapAuthorGroups = _groups[GlymaPermissionLevel.GlymaMapAuthor];
            IList<GlymaSecurityGroup> oldMapAuthorsGroups = _groups[GlymaPermissionLevel.GlymaMapAuthorOld];

            switch (currentPermissionLevel)
            {
                case GlymaPermissionLevel.GlymaMapManager:
                    foreach (GlymaSecurityGroup securityGroup in projectManagerGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    break;
                case GlymaPermissionLevel.GlymaMapAuthor:
                    foreach (GlymaSecurityGroup securityGroup in mapManagersGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    foreach (GlymaSecurityGroup securityGroup in projectManagerGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    break;
                case GlymaPermissionLevel.GlymaMapReader:
                    foreach (GlymaSecurityGroup securityGroup in mapAuthorGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    foreach (GlymaSecurityGroup securityGroup in oldMapAuthorsGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    foreach (GlymaSecurityGroup securityGroup in mapManagersGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    foreach (GlymaSecurityGroup securityGroup in projectManagerGroups)
                    {
                        if (group.GroupId == securityGroup.GroupId)
                        {
                            result = true;
                            break; //found match, break foreach loop early
                        }
                    }
                    break;
            }
            return result;
        }
    }