internal static SharedFacet CreateFromPermissions(Permission[] permissions)
        {
            if (null == permissions || permissions.Length == 0)
            {
                return(null);
            }

            SharedFacet facet           = new SharedFacet();
            SharedScope discoveredScope = SharedScope.None;

            foreach (var perm in permissions)
            {
                if (perm.Link != null && perm.Link.Scope == "organization")
                {
                    discoveredScope = (SharedScope.Tenant > discoveredScope) ? SharedScope.Tenant : discoveredScope;
                }
                else if (perm.Link != null && perm.Link.Scope == "anonymous")
                {
                    discoveredScope = (SharedScope.Anonymous > discoveredScope) ? SharedScope.Anonymous : discoveredScope;
                }

                if (perm.GrantedTo != null)
                {
                    discoveredScope = (SharedScope.Users > discoveredScope) ? SharedScope.Users : discoveredScope;
                }
            }

            facet.Scope = discoveredScope.ToString().ToLower();
            return(facet);
        }
Beispiel #2
0
 protected SharedTraitSpec()
 {
     scope = new SharedScope();
 }