AJH.CMS.WEB.UI.Admin.ManageProducts_UC.GetNodesChilds C# (CSharp) Method

GetNodesChilds() private method

private GetNodesChilds ( Catalog catalog, List Catalogs, List toBecheckedNodes ) : System.Web.UI.WebControls.TreeNode
catalog AJH.CMS.Core.Entities.Catalog
Catalogs List
toBecheckedNodes List
return System.Web.UI.WebControls.TreeNode
        private TreeNode GetNodesChilds(Catalog catalog, List<Catalog> Catalogs, List<string> toBecheckedNodes)
        {
            TreeNode oNode;
            oNode = new TreeNode(catalog.ID + ": " + catalog.Name, Convert.ToString(catalog.ID));
            oNode.SelectAction = TreeNodeSelectAction.None;

            if (toBecheckedNodes != null && toBecheckedNodes.Contains(oNode.Value))
                oNode.Checked = true;

            List<Catalog> CatalogChilds = Catalogs.Where(m => m.ParentCalalogID == catalog.ID).ToList();
            if (CatalogChilds.Count > 0)
            {
                foreach (AJH.CMS.Core.Entities.Catalog CatalogChild in CatalogChilds)
                {
                    if (toBecheckedNodes != null && toBecheckedNodes.Contains(oNode.Value))
                        oNode.Checked = true;
                    oNode.ChildNodes.Add(GetNodesChilds(CatalogChild, Catalogs, toBecheckedNodes));
                }
            }
            return oNode;
        }