Hi. I am working on a project that will use the RadFileExplorer to show directories for specific security levels.
I know that there is a way to hardcode the items (see below code) which will be visible however, since I need to show directories and hide directories depending on the user's security level, I need it to work dynamically. I would like to pass in a list of security levels and use a switch statement to hide/show the appropriate directories depending on the user's security level.
public override DirectoryItem ResolveRootDirectoryAsTree(string path)
{
DirectoryItem originalFolder = base.ResolveRootDirectoryAsTree(path);
DirectoryItem[] originalDirectories = originalFolder.Directories;
List<DirectoryItem> filteredDirectories = new List<DirectoryItem>();
// Filter the folders
foreach (DirectoryItem originalDir in originalDirectories)
{
if (!this.IsFiltered(originalDir.Name))
{
filteredDirectories.Add(originalDir);
}
}
DirectoryItem newFolder = new DirectoryItem(originalFolder.Name, originalFolder.Location, originalFolder.FullPath, originalFolder.Tag, originalFolder.Permissions, originalFolder.Files, filteredDirectories.ToArray());
return newFolder;
}
private bool IsFiltered(string name)
{
//I NEED THIS AREA TO BE DYNAMIC
if (name.ToLower().EndsWith(".sys") ||
name.ToLower().Contains("_sys") ||
name == "Secure Directory1" ||
name == "Secure Directory2")
{
return true;
}
// else
return false;
}
Thanks,
James
I know that there is a way to hardcode the items (see below code) which will be visible however, since I need to show directories and hide directories depending on the user's security level, I need it to work dynamically. I would like to pass in a list of security levels and use a switch statement to hide/show the appropriate directories depending on the user's security level.
public override DirectoryItem ResolveRootDirectoryAsTree(string path)
{
DirectoryItem originalFolder = base.ResolveRootDirectoryAsTree(path);
DirectoryItem[] originalDirectories = originalFolder.Directories;
List<DirectoryItem> filteredDirectories = new List<DirectoryItem>();
// Filter the folders
foreach (DirectoryItem originalDir in originalDirectories)
{
if (!this.IsFiltered(originalDir.Name))
{
filteredDirectories.Add(originalDir);
}
}
DirectoryItem newFolder = new DirectoryItem(originalFolder.Name, originalFolder.Location, originalFolder.FullPath, originalFolder.Tag, originalFolder.Permissions, originalFolder.Files, filteredDirectories.ToArray());
return newFolder;
}
private bool IsFiltered(string name)
{
//I NEED THIS AREA TO BE DYNAMIC
if (name.ToLower().EndsWith(".sys") ||
name.ToLower().Contains("_sys") ||
name == "Secure Directory1" ||
name == "Secure Directory2")
{
return true;
}
// else
return false;
}
Thanks,
James