private static ICollection GetImapChildren(MailFolder folder) { ArrayList children = new ArrayList(); DirectoryInfo folder_dir; folder_dir = new DirectoryInfo(Path.Combine(folder.Path, "folders")); if (!folder_dir.Exists) { folder_dir = new DirectoryInfo(Path.Combine(folder.Path, "subfolders")); } if (!folder_dir.Exists) { return(children); } foreach (DirectoryInfo child_folder_dir in folder_dir.GetDirectories()) { MailFolder child_folder = new MailFolder(child_folder_dir.Name, child_folder_dir.FullName); child_folder.AddChildren(GetImapChildren(child_folder)); children.Add(child_folder); } return(children); }
private static ICollection GetLocalChildren(MailFolder folder) { ArrayList children = new ArrayList(); DirectoryInfo folder_dir; folder_dir = new DirectoryInfo(folder.Path); if (!folder_dir.Exists) { folder_dir = new DirectoryInfo(folder_dir.FullName + ".sbd"); } if (!folder_dir.Exists) { return(children); } foreach (FileInfo child_summary_file in folder_dir.GetFiles("*.cmeta")) { MailFolder child_folder = new MailFolder(child_summary_file.Name.Substring(0, child_summary_file.Name.Length - 6), child_summary_file.FullName.Substring(0, child_summary_file.FullName.Length - 6)); child_folder.AddChildren(GetLocalChildren(child_folder)); children.Add(child_folder); } return(children); }
private static ICollection GetLocalChildren (MailFolder folder) { ArrayList children = new ArrayList (); DirectoryInfo folder_dir; folder_dir = new DirectoryInfo (folder.Path); if (!folder_dir.Exists) folder_dir = new DirectoryInfo (folder_dir.FullName + ".sbd"); if (!folder_dir.Exists) return children; foreach (FileInfo child_summary_file in folder_dir.GetFiles ("*.cmeta")) { MailFolder child_folder = new MailFolder (child_summary_file.Name.Substring (0,child_summary_file.Name.Length-6), child_summary_file.FullName.Substring (0, child_summary_file.FullName.Length-6)); child_folder.AddChildren (GetLocalChildren (child_folder)); children.Add (child_folder); } return children; }
private static ICollection GetImapChildren (MailFolder folder) { ArrayList children = new ArrayList (); DirectoryInfo folder_dir; folder_dir = new DirectoryInfo (Path.Combine(folder.Path,"folders")); if (!folder_dir.Exists) folder_dir = new DirectoryInfo (Path.Combine(folder.Path,"subfolders")); if (!folder_dir.Exists) return children; foreach (DirectoryInfo child_folder_dir in folder_dir.GetDirectories ()) { MailFolder child_folder = new MailFolder (child_folder_dir.Name, child_folder_dir.FullName); child_folder.AddChildren (GetImapChildren (child_folder)); children.Add (child_folder); } return children; }