Esempio n. 1
0
        /// <exclude />
        public static IEnumerable <UserGroupPermissionDefinition> GetUserGroupPermissionDefinitions(Guid userGroupId)
        {
            if (userGroupId == Guid.Empty)
            {
                throw new ArgumentException("Guid value is empty", "userGroupId");
            }

            IEnumerable <UserGroupPermissionDefinition> userPermissionDefinitions = UserGroupPermissionDefinitionProviderPluginFacade.GetPermissionsByUserGroup(userGroupId);

            var result = new List <UserGroupPermissionDefinition>();

            foreach (UserGroupPermissionDefinition userPermissionDefinition in userPermissionDefinitions)
            {
                var entityToken = userPermissionDefinition.EntityToken;
                if (entityToken == null)
                {
                    continue;
                }

                if (!entityToken.IsValid())
                {
                    if (UserPermissionDefinitionProviderPluginFacade.CanAlterDefinitions)
                    {
                        Log.LogWarning("PermissionTypeFacade", "System removing invalid permission setting for user group '{0}' because the data entity token could not be validated. Token was '{1}'.", userGroupId, userPermissionDefinition.SerializedEntityToken);
                        UserGroupPermissionDefinitionProviderPluginFacade.RemoveUserGroupPermissionDefinition(userGroupId, userPermissionDefinition.SerializedEntityToken);
                    }
                    continue;
                }

                result.Add(userPermissionDefinition);
            }

            return(result);
        }