Beispiel #1
0
 private void ScanRep(ClassDirectory root)
 {
     //Listing files
     try
     {
         var lFiles = Directory.EnumerateFiles(root.Name);
         foreach (string f in lFiles)
         {
             root.AddFile(f, new FileInfo(f).Length);
         }
     }
     catch (Exception e)
     {
         _lstErr.Add(root.Name + "\r\n" + e.Message + "\r\n");
     }
     //Listing directories
     try
     {
         var lDir = Directory.EnumerateDirectories(root.Name);
         foreach (string d in lDir)
         {
             ScanRep(root.AddDirectory(d)); //And we step through
         }
     }
     catch (Exception e)
     {
         _lstErr.Add(root.Name + "\r\n" + e.Message + "\r\n");
     }
 }
Beispiel #2
0
        public ClassDirectory AddDirectory(string name)
        {
            ClassDirectory newItem = new ClassDirectory(name, this);

            _content.Add(newItem);
            return(newItem);
        }
Beispiel #3
0
 public ClassFile(double size, string name, ClassDirectory parent)
 {
     Type       = "File";
     Name       = name;
     Parent     = parent;
     Size       = size;
     DeleteText = "Do you want to delete the file: \r\n " + Name;
 }
Beispiel #4
0
 private ClassDirectory(string name, ClassDirectory parent)
 {
     Type       = "Dir.";
     Size       = 0;
     Name       = name;
     Parent     = parent;
     _content   = new List <ClassFsItem>();
     DeleteText = "Do you want to delete the directory: \r\n " +
                  Name + "\r\n and all files and directories in this directory.";
 }
Beispiel #5
0
        public void Scan(string path, MainWindow owindow)
        {
            _root = new ClassDirectory(path);
            _lstErr.Clear();

            //search
            ScanRep(_root);

            //show
            Show(owindow);
        }
Beispiel #6
0
 private void ShowRep(ClassDirectory root, MainWindow owindow)
 {
     foreach (ClassFsItem itm in root)
     {
         owindow.AddLine(itm);
         if (itm.Type == "Dir.")
         {
             ShowRep((ClassDirectory)itm, owindow);
         }
     }
 }
Beispiel #7
0
 private void DeleteRepDuplicate(ClassDirectory rep)
 {
     foreach (ClassFsItem item in rep)
     {
         if (item.Type == "File")
         {
             _duplicateFile[((ClassFile)item).Md5()].Remove((ClassFile)item);
             File.Delete(item.Name);
         }
         else
         {
             DeleteRepDuplicate((ClassDirectory)item);
             Directory.Delete(item.Name, false);
         }
     }
 }
Beispiel #8
0
 public ClassFile(double size, string name, ClassDirectory parent, string md5) : this(size, name, parent)
 {
     _md5 = md5;
 }