Example #1
0
        public override void DeleteFolder(String folder, Boolean recursive, VirtualFtpSession session)
        {
            if (!HasSubfolder(folder))
            {
                throw new FtpException(String.Format("A folder named \"{0}\" does not exists.", folder));
            }

            if (!AllowDeleteItems(session))
            {
                throw new FtpException(550, String.Format("Cannot delete folder \"{0}\", permission to delete from this folder denied.", folder));
            }

            IFtpFolder lFolder = GetSubFolder(folder, session);

            if (!lFolder.AllowDeleteThis(session))
            {
                throw new FtpException(550, String.Format("Cannot delete folder \"{0}\", permission to delete folder denied.", folder));
            }

            lock (this)
            {
                lFolder.Invalidate();
                SubFolderList.Remove(folder.ToLower());
            }
        }
Example #2
0
        public void CreateFolderTree(DirectoryInfo root)
        {
            var FolderList = root.GetDirectories("*");

            foreach (var subfolder in FolderList)
            {
                FolderVM subFolderVM = new FolderVM(subfolder.FullName);
                subFolderVM.CreateFolderTree(subfolder);
                SubFolderList.Add(subFolderVM);
                subFolderVM.PropertyChanged += MarkedChangeEventHandler;
            }
        }
Example #3
0
 public void Add(IFtpItem item)
 {
     lock (this)
     {
         if (item is IFtpFolder)
         {
             item.Parent = this;
             SubFolderList.Add(item.Name.ToLower(), item);
         }
         else if (item is IFtpFile)
         {
             item.Parent = this;
             FileList.Add(item.Name.ToLower(), item);
         }
     }
 }
Example #4
0
 public override Boolean HasSubfolder(String folder)
 {
     return(SubFolderList.ContainsKey(folder.ToLower()));
 }