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; }
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)); } }
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; } }
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; }
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); } }