public int GetHeight(int id) { var container = new WindsorContainer(); container.Register(Component.For <ICompanyHierarchy>().ImplementedBy <CompanyHierarchy>().LifestyleSingleton()); // Resolve an object of type ICompanyHierarchy (ask the container for an instance) // This is analagous to calling new() in a non-IoC application. _CompanyHierarchy = container.Resolve <ICompanyHierarchy>(); Common.Models.Node n = _CompanyHierarchy.Getnode(id); return(_CompanyHierarchy.GetHeight(n)); }
public HttpResponseMessage Get_all_children(int id) { var container = new WindsorContainer(); container.Register(Component.For <ICompanyHierarchy>().ImplementedBy <CompanyHierarchy>().LifestyleSingleton()); // Resolve an object of type ICompanyHierarchy (ask the container for an instance) // This is analagous to calling new() in a non-IoC application. _CompanyHierarchy = container.Resolve <ICompanyHierarchy>(); Common.Models.Node node = _CompanyHierarchy.Getnode(id); IEnumerable <Common.Models.Node> resultsnodes = _CompanyHierarchy.Get_all_children(node); return(Share.Json <Common.Models.Node>(resultsnodes)); }
public IEnumerable <CompanyStructured.Common.Models.Node> Get_all_children(CompanyStructured.Common.Models.Node n) { List <CompanyStructured.Common.Models.Node> nodes = new List <CompanyStructured.Common.Models.Node>(); IEnumerable <GetDescendantsByParentId_Result> results = ctx.GetDescendantsByParentId(n.Id); foreach (GetDescendantsByParentId_Result node in results) { CompanyStructured.Common.Models.Node nodmodel = new Common.Models.Node { Id = (int)node.Id, name = node.Name, parentId = node.ParentId }; nodes.Add(nodmodel); } ; // Parallel.ForEach(ns, node => //{ // CompanyStructured.Common.Models.Node nodmodel = new Common.Models.Node // { // Id = node.Id, // name = node.Name, // parentId = node.ParentId // }; // nodes.Add(nodmodel); // Thread t = new Thread(() => Get_all_children(nodmodel)); // lt.Add(t); //}); // Parallel.ForEach(lt, tr => //{ // tr.Start(); //}); return(nodes); }