예제 #1
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
        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()));
        }
예제 #2
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
        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()));
        }
예제 #3
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
        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());
        }
예제 #4
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
 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);
 }
예제 #5
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
        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));
        }
예제 #6
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
 public static void InsertArt(ArtsFileSystemItem newArt)
 {
     newArt.ArtID = GetNewArtID();
     GetArts().Add(newArt);
 }
예제 #7
0
파일: Arts.cs 프로젝트: tckhanh/Vilas103
 public static void UpdateArt(ArtsFileSystemItem art, Action <ArtsFileSystemItem> update)
 {
     update(art);
 }