示例#1
0
        private void AddFiles(VideoNode node)
        {
            var dir = Path.Combine(options.RootDirectory, node.GetFullPath());

            var files = Directory.GetFiles(dir);

            foreach (var file in files.Where(f => ValidFileExtension(f)))
            {
                var video = new VideoNode()
                {
                    Title  = file.Split('\\').Last(),
                    Parent = node,
                };

                node.Children.Add(video);
                flatList.Add(video);
            }
        }
示例#2
0
        private void TraverseChildren(VideoNode parent)
        {
            var dirs = Directory.GetDirectories(Path.Combine(options.RootDirectory, parent.GetFullPath()));

            AddFiles(parent);

            foreach (var dir in dirs)
            {
                var child = new VideoNode()
                {
                    Title = dir.Split('\\').Last()
                };

                parent.Children.Add(child);
                child.Parent = parent;
                flatList.Add(child);

                TraverseChildren(child);
            }
        }