示例#1
0
        public async Task <IActionResult> GetHierarchyTree(int?parentId)
        {
            AccountHierarchy root = parentId.HasValue ?
                                    await _dbContext.AccountHierarchies.FindAsync((long)parentId) :
                                    await _dbContext.AccountHierarchies.OrderBy(a => a.Id).FirstOrDefaultAsync();

            TreeBuilder treeBuilder = new TreeBuilder(_dbContext);
            //var account = treeBuilder.BuildHierarchyTreeRecursive(root);
            var account = treeBuilder.BuildHierarchyTreeRecursive(root);

            DefaultContractResolver contractResolver = new DefaultContractResolver
            {
                NamingStrategy = new CamelCaseNamingStrategy()
            };
            string json = JsonConvert.SerializeObject(account, new JsonSerializerSettings
            {
                ContractResolver = contractResolver,
                Formatting       = Formatting.Indented
            });

            //Console.WriteLine(json);
            return(View("GetTree", json));
        }