Tab

FileSystemProviderBase.MoveFolder(FileManagerFolder, FileManagerFolder) Method

Override this method to implement moving a folder.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v21.1.dll

Declaration

public virtual void MoveFolder(
    FileManagerFolder folder,
    FileManagerFolder newParentFolder
)

Parameters

Name Type Description
folder FileManagerFolder

A FileManagerFolder object that is the moved folder.

newParentFolder FileManagerFolder

A FileManagerFolder object that is a folder where the current folder is being moved.

Remarks

If you create a custom file system provider inherited from the FileSystemProviderBase class, you can override the MoveFolder method to move a folder.

By default, the method has no implementation and should be overridden if folder moving is allowed (the FileManagerSettingsEditing.AllowMove property is set to true).

Example

using DevExpress.Web.ASPxFileManager;
using System.IO;
public class LinqFileSystemProvider : FileSystemProviderBase {
    const int DbRootItemId = 1;
    DbFileSystemDataContext dataContext;
    Dictionary<int, DbFileSystemItem> folderCache;
    string rootFolderDisplayName;

    public LinqFileSystemProvider(string rootFolder)
        : base(rootFolder) {
        this.dataContext = new DbFileSystemDataContext();
        RefreshFolderCache();
    }

    public DbFileSystemDataContext DataContext { get { return dataContext; } }

    // Used to decrease the number of recursive LINQ to SQL queries made to a database
    public Dictionary<int, DbFileSystemItem> FolderCache { get { return folderCache; } }


    public override string RootFolderDisplayName { get { return rootFolderDisplayName; } }

    public override IEnumerable<FileManagerFile> GetFiles(FileManagerFolder folder) {
        DbFileSystemItem dbFolderItem = FindDbFolderItem(folder);
        return
            from dbItem in DataContext.DbFileSystemItems
            where !dbItem.IsFolder && dbItem.ParentId == dbFolderItem.Id
            select new FileManagerFile(this, folder, dbItem.Name);
    }
    public override IEnumerable<FileManagerFolder> GetFolders(FileManagerFolder parentFolder) {
        DbFileSystemItem dbFolderItem = FindDbFolderItem(parentFolder);
        return
            from dbItem in FolderCache.Values
            where dbItem.IsFolder && dbItem.ParentId == dbFolderItem.Id
            select new FileManagerFolder(this, parentFolder, dbItem.Name);
    }
    public override bool Exists(FileManagerFile file) {
        return FindDbFileItem(file) != null;
    }
    public override bool Exists(FileManagerFolder folder) {
        return FindDbFolderItem(folder) != n