Beispiel #1
0
    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()));
    }
Beispiel #2
0
    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()));
    }
Beispiel #3
0
    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());
    }
Beispiel #4
0
 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);
 }
Beispiel #5
0
    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));
    }
Beispiel #6
0
 public static void UpdateArt(ArtsFileSystemItem art, Action <ArtsFileSystemItem> update)
 {
     update(art);
 }
Beispiel #7
0
 public static void InsertArt(ArtsFileSystemItem newArt)
 {
     newArt.ArtID = GetNewArtID();
     GetArts().Add(newArt);
 }