// Returns a RoleNamesCollection based on instances in the roleInstanceList // whose RoleInstance.RoleName matches the roleName passed in. Wildcards // are handled for the roleName passed in. // This function also verifies that the RoleInstance exists before adding the // RoleName to the RoleNamesCollection. public static RoleNamesCollection GetRoleNames(IList <RoleInstance> roleInstanceList, string roleName) { var roleNamesCollection = new RoleNamesCollection(); if (!string.IsNullOrEmpty(roleName)) { if (WildcardPattern.ContainsWildcardCharacters(roleName)) { WildcardOptions wildcardOptions = WildcardOptions.IgnoreCase | WildcardOptions.Compiled; WildcardPattern wildcardPattern = new WildcardPattern(roleName, wildcardOptions); foreach (var role in roleInstanceList) { if (!string.IsNullOrEmpty(role.RoleName) && wildcardPattern.IsMatch(role.RoleName)) { roleNamesCollection.Add(role.RoleName); } } } else { var roleInstance = roleInstanceList.Where(r => r.RoleName != null). FirstOrDefault(r => r.RoleName.Equals(roleName, StringComparison.InvariantCultureIgnoreCase)); if (roleInstance != null) { roleNamesCollection.Add(roleName); } } } return(roleNamesCollection); }
// Returns a RoleNamesCollection based on instances in the roleInstanceList // whose RoleInstance.RoleName matches the roleName passed in. Wildcards // are handled for the roleName passed in. // This function also verifies that the RoleInstance exists before adding the // RoleName to the RoleNamesCollection. public static RoleNamesCollection GetRoleNames(RoleInstanceList roleInstanceList, string roleName) { var roleNamesCollection = new RoleNamesCollection(); if (!string.IsNullOrEmpty(roleName)) { if (WildcardPattern.ContainsWildcardCharacters(roleName)) { WildcardOptions wildcardOptions = WildcardOptions.IgnoreCase | WildcardOptions.Compiled; WildcardPattern wildcardPattern = new WildcardPattern(roleName, wildcardOptions); foreach (RoleInstance role in roleInstanceList) if (!string.IsNullOrEmpty(role.RoleName) && wildcardPattern.IsMatch(role.RoleName)) { roleNamesCollection.Add(role.RoleName); } } else { var roleInstance = roleInstanceList.Where(r => r.RoleName != null). FirstOrDefault(r => r.RoleName.Equals(roleName, StringComparison.InvariantCultureIgnoreCase)); if (roleInstance != null) { roleNamesCollection.Add(roleName); } } } return roleNamesCollection; }
// Return the list of role names that match any of the given query. public static RoleNamesCollection GetRoleNames(IList <RoleInstance> roleInstanceList, string[] roleNameQueries) { List <string> distinctRoleNameList = new List <string>(); foreach (var roleNameQuery in roleNameQueries) { var unionResult = distinctRoleNameList.Union(GetRoleNames(roleInstanceList, roleNameQuery)); distinctRoleNameList = unionResult.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); } var roleNamesCollection = new RoleNamesCollection(); foreach (var roleName in distinctRoleNameList) { roleNamesCollection.Add(roleName); } return(roleNamesCollection); }
// Return the list of role names that match any of the given query. public static RoleNamesCollection GetRoleNames(IList<RoleInstance> roleInstanceList, string[] roleNameQueries) { List<string> distinctRoleNameList = new List<string>(); foreach (var roleNameQuery in roleNameQueries) { var unionResult = distinctRoleNameList.Union(GetRoleNames(roleInstanceList, roleNameQuery)); distinctRoleNameList = unionResult.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); } var roleNamesCollection = new RoleNamesCollection(); foreach (var roleName in distinctRoleNameList) { roleNamesCollection.Add(roleName); } return roleNamesCollection; }