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;
                }
            }
        }
예제 #3
0
        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;
        }