private static string[] GetDirectoriesIncludingRoot( IStorageService oStorage, string sPath, bool bIncludeSubDirs, List <string> selectedSubDirs = null) { List <string> Dirs = new List <string>(); if (!bIncludeSubDirs || selectedSubDirs == null || selectedSubDirs.Count == 0) { // Root directory is always copied Dirs.Add(sPath); } if (bIncludeSubDirs) { // Query for subdirs Dirs.AddRange(oStorage.QuerySubDirs(sPath, true, DirectoryView.Tree)); if (selectedSubDirs != null && selectedSubDirs.Count > 0) { string[] foundFirs = SetUtil <string> .GetIntersection(Dirs, selectedSubDirs); Dirs.Clear(); Dirs.AddRange(foundFirs); } } return(Dirs.ToArray()); }
public static bool MustHaveOneOfRequiredRoles( string[] PresentRoles, string[] RequiredRoles) { if (RequiredRoles.Length > 0) { return(SetUtil <string> .GetIntersection( PresentRoles, RequiredRoles).Length > 0); } return(false); }
public static bool HasOneOfRequiredRoles( string[] PresentRoles, string[] RequiredRoles) { if (RequiredRoles.Length == 0) { // No roles required - ok return(true); } return(SetUtil <string> .GetIntersection( PresentRoles, RequiredRoles).Length > 0); }