public override IEnumerable <FileManagerFolder> GetFolders(FileManagerFolder parentFolder) { ArtsFileSystemItem artFolderItem = FindArtsFolderItem(parentFolder); return(from artItem in FolderCache.Values where artItem.IsFolder && artItem.ParentID == artFolderItem.ArtID select new FileManagerFolder(this, parentFolder, artItem.Name, artItem.ArtID.ToString())); }
public override IEnumerable <FileManagerFile> GetFiles(FileManagerFolder folder) { ArtsFileSystemItem artFolderItem = FindArtsFolderItem(folder); return(from artItem in ArtsDataProvider.GetArts() where !artItem.IsFolder && artItem.ParentID == artFolderItem.ArtID select new FileManagerFile(this, folder, artItem.Name, artItem.ArtID.ToString())); }
protected ArtsFileSystemItem FindArtsFileItem(FileManagerFile file) { ArtsFileSystemItem artsFolderItem = FindArtsFolderItem(file.Folder); if (artsFolderItem == null) { return(null); } return(ArtsDataProvider.GetArts().FindAll(item => (int)item.ParentID == artsFolderItem.ArtID && !item.IsFolder && item.Name == file.Name).FirstOrDefault()); }
public static void DeleteArt(ArtsFileSystemItem art) { if (art.IsFolder) { List <ArtsFileSystemItem> childFolders = GetArts().FindAll(item => item.IsFolder && item.ParentID == art.ArtID); if (childFolders != null) { foreach (ArtsFileSystemItem childFolder in childFolders) { DeleteArt(childFolder); } } } GetArts().Remove(art); }
protected string GetRelativeName(ArtsFileSystemItem artFolderItem) { if (artFolderItem.ArtID == ArtsRootItemID) { return(string.Empty); } if (artFolderItem.ParentID == ArtsRootItemID) { return(artFolderItem.Name); } if (!FolderCache.ContainsKey((int)artFolderItem.ParentID)) { return(null); } string name = GetRelativeName(FolderCache[(int)artFolderItem.ParentID]); return(name == null ? null : Path.Combine(name, artFolderItem.Name)); }
public static void UpdateArt(ArtsFileSystemItem art, Action <ArtsFileSystemItem> update) { update(art); }
public static void InsertArt(ArtsFileSystemItem newArt) { newArt.ArtID = GetNewArtID(); GetArts().Add(newArt); }