コード例 #1
0
        private static IEnumerable <GenreNodeDto> CreateNodeCollection()
        {
            var root = new GenreNodeDto
            {
                Id   = "1",
                Name = "Root"
            };

            var subRoot = new GenreNodeDto
            {
                Id       = "2",
                Name     = "Sub root",
                ParentId = "1"
            };

            var leaf = new GenreNodeDto
            {
                Id       = "3",
                Name     = "leaf",
                ParentId = "2"
            };

            return(new List <GenreNodeDto>
            {
                root, subRoot, leaf
            });
        }
コード例 #2
0
ファイル: GenreService.cs プロジェクト: kvoloboy/GameStore
        private static IEnumerable <GenreNodeDto> GetChildren(GenreNodeDto root, IEnumerable <GenreNodeDto> source)
        {
            var children = source.Where(g => g.ParentId == root.Id);

            foreach (var child in children)
            {
                child.Children = GetChildren(child, source);
            }

            return(children);
        }
コード例 #3
0
        private static IEnumerable <GenreNodeDto> CreateExpectedGenreTree()
        {
            var leaf = new GenreNodeDto
            {
                Id       = "3",
                Name     = "leaf",
                ParentId = "2",
                Children = new List <GenreNodeDto>()
            };

            var subRoot = new GenreNodeDto
            {
                Id       = "2",
                Name     = "Sub root",
                ParentId = "1",
                Children = new List <GenreNodeDto>
                {
                    leaf
                }
            };

            var root = new GenreNodeDto
            {
                Id       = "1",
                Name     = "Root",
                Children = new List <GenreNodeDto>
                {
                    subRoot
                }
            };

            return(new List <GenreNodeDto>
            {
                root
            });
        }