Tab
A newer version of this page is available. Switch to the current version.

FileManagerFilePermissions Enum

Lists values that specify permissions for the File Manager files.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v18.2.dll

Declaration

public enum FileManagerFilePermissions
Public Enum FileManagerFilePermissions

Members

Name Description
Default

No permissions are specified for the file. Access permissions for the file are specified by the FileManagerSettingsPermissions.AccessRules property.

Rename

Permits renaming a file.

Move

Permits moving a file.

Copy

Permits copying a file.

Delete

Permits deleting a file.

Download

Permits downloading a file.

Related API Members

The following properties accept/return FileManagerFilePermissions values:

Remarks

The values listed by this enumerator are used to set the FileManagerFile.Permissions and the FileManagerFileProperties.Permissions property values.

Refer to the Permissions topic to get more information on using the File Manager permissions.

Examples

The following example illustrates how to specify permissions for files and folders within the ASPxFileManager.

NOTE

A complete sample project demonstrating this approach in action is available in the DevExpress Code Examples database at ASPxFileManager - How to implement a custom FileSystem provider and set required permissions to files or folders.

public override FileManagerFilePermissions GetFilePermissions(FileManagerFile file) {
    int fileId = int.Parse(file.Id);
    Permissions permissions = Data.PermissionsSet.FirstOrDefault(p => p.Item.Id == fileId);
    if(permissions == null)
        return FileManagerFilePermissions.Default;
    return GetFilePermissionsInternal(permissions);
}

public override FileManagerFolderPermissions GetFolderPermissions(FileManagerFolder folder) {
    if(string.IsNullOrEmpty(folder.RelativeName))
        return FileManagerFolderPermissions.Default;
    int folderId = int.Parse(folder.Id);
    Permissions permissions = Data.PermissionsSet.FirstOrDefault(p => p.Item.Id == folderId);
    if(permissions == null)
        return FileManagerFolderPermissions.Default;
    return GetFolderPermissionsInternal(permissions);
}

FileManagerFilePermissions GetFilePermissionsInternal(Permissions permissions) {
    return (permissions.Delete ? FileManagerFilePermissions.Delete : FileManagerFilePermissions.Default)
        | (permissions.Move ? FileManagerFilePermissions.Move : FileManagerFilePermissions.Default)
        | (permissions.Copy ? FileManagerFilePermissions.Copy : FileManagerFilePermissions.Default)
        | (permissions.Rename ? FileManagerFilePermissions.Rename : FileManagerFilePermissions.Default)
        | (permissions.Download ? FileManagerFilePermissions.Download : FileManagerFilePermissions.Default);
}

FileManagerFolderPermissions GetFolderPermissionsInternal(Permissions permissions) {
    return (permissions.Delete ? FileManagerFolderPermissions.Delete : FileManagerFolderPermissions.Default)
        | (permissions.Move ? FileManagerFolderPermissions.Move : FileManagerFolderPermissions.Default)
        | (permissions.Copy ? FileManagerFolderPermissions.Copy : FileManagerFolderPermissions.Default)
        | (permissions.Rename ? FileManagerFolderPermissions.Rename : FileManagerFolderPermissions.Default)
        | (permissions.Create ? FileManagerFolderPermissions.Create : FileManagerFolderPermissions.Default)
        | (permissions.Upload ? FileManagerFolderPermissions.Upload : FileManagerFolderPermissions.Default)
        | (permissions.MoveOrCopyInto ? FileManagerFolderPermissions.MoveOrCopyInto : FileManagerFolderPermissions.Default);
}
See Also