コード例 #1
0
ファイル: Entry.cs プロジェクト: jangsohee/CloudUSB-Client
        public static EntryElement getChild(EntryElement target,string fileID)
        {
            EntryElement result = target.getChild(fileID);

            if (result == null)
            {
                EntryElement[] directories = target.getDirectories();
                foreach (EntryElement e in directories)
                {
                    result = getChild(e, fileID);
                    if (result != null)
                        break;
                }
            }
         
            return result;
        }
コード例 #2
0
ファイル: Entry.cs プロジェクト: jangsohee/CloudUSB-Client
        public static void deleteEntryHelper(Queue<History> historyQueue, Entry entry, EntryElement e)
        {
            EntryElement[] folderList = e.getDirectories();
            EntryElement[] fileList = e.getFiles();

            foreach (EntryElement d in folderList)
            {
                deleteEntry(historyQueue, entry, d);
                historyQueue.Enqueue(e.removeChild(d));
            }

            
            string date = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
            foreach (EntryElement f in fileList)
            {                
                string[] ext = f.FILENAME.Split('.');
                if (ext.Length > 1)
                    entry.addMetaData(ext.Last(), e.File);
                entry.addMetaData(date, e.File);
                historyQueue.Enqueue(e.removeChild(f));
            }
        }
コード例 #3
0
ファイル: Entry.cs プロジェクト: jangsohee/CloudUSB-Client
 public static EntryElement findParent(EntryElement root, EntryElement e)
 {
     if (root.FID == e.File.Parent)
         return root;
     else
     {
         EntryElement[] directories = root.getDirectories();
         EntryElement parent = null;
         foreach (EntryElement d in directories)
         {
             parent = findParent(d, e);
             if (parent != null)
                 break;
         }
         return parent;
     }           
 }
コード例 #4
0
ファイル: Entry.cs プロジェクト: jangsohee/CloudUSB-Client
        public static EntryElement findParentByID(EntryElement root, EntryElement e)
        {
            EntryElement[] files = root.getFiles();
            EntryElement[] dirs = root.getDirectories();

            foreach (EntryElement f in files)
            {
                if (root.File.ID == f.File.ID)
                    return root;
            }

            EntryElement result = null;

            foreach (EntryElement d in dirs)
            {
                if (root.FILENAME != d.FILENAME)
                {
                    result = findParentByID(d, e);
                    if (result != null)
                        break;
                }else{
                    return root;
                }
            }
            return result;
        }
コード例 #5
0
ファイル: Entry.cs プロジェクト: jangsohee/CloudUSB-Client
        public void buildEntryHelper(EntryElement r)
        {
            String[] fileList = Directory.GetFiles(RootPath + r.PATH + "\\" + r.FILENAME);
            String[] folderList = Directory.GetDirectories(RootPath + r.PATH + "\\" + r.FILENAME);

            r.addChildren(this, fileList, folderList);
            foreach (EntryElement e in r.getDirectories())
            {
                buildEntryHelper(e);
            }
        }