private static void CheckAllItemsInDir(DirectoryItem directoryItem) { List<Item> list = directoryItem.Items; directoryItem.Selected = true; foreach (Item item in directoryItem.Items) { if (item is DirectoryItem) { CheckAllItemsInDir((DirectoryItem)item); } else { item.Selected = true; } } }
private static void UnCheckAllItemsInDir(DirectoryItem di) { List<Item> li = di.Items; di.Selected = false; foreach (Item i in di.Items) { if (i is DirectoryItem) { UnCheckAllItemsInDir((DirectoryItem)i); } else { i.Selected = false; } } }
public static List<Item> GetItems(string path, bool isParentChecked) { var items = new List<Item>(); if (Directory.Exists(path)) { var dirInfo = new DirectoryInfo(path); try { foreach (var directory in dirInfo.GetDirectories()) { if (directory != null) { bool dirChecked = false; if (isParentChecked == true) { dirChecked = true; } if (Helper.ExcludedFolders.ContainsKey(directory.Name)) { bool value = false; Helper.ExcludedFolders.TryGetValue(directory.Name, out value); dirChecked = value; } var item = new DirectoryItem { Name = directory.Name, Path = directory.FullName, Selected = false, Items = GetItems(directory.FullName, dirChecked) }; item.Selected = dirChecked; items.Add(item); } } foreach (var file in dirInfo.GetFiles()) { if (file != null) { var item = new FileItem { Name = file.Name, Selected = false, Path = file.FullName }; if (isParentChecked == true) { item.Selected = true; } if (Helper.ExcludedFiles.ContainsKey(file.Extension)) { bool value = false; Helper.ExcludedFiles.TryGetValue(file.Extension.ToLower(), out value); item.Selected = value; } items.Add(item); } } } catch (Exception ex) { Helper.GotException = true; Log.CaptureException(ex); } Helper.FolderExist = true; } else { Helper.FolderExist = false; } return items; }