public virtual IEnumerable tree ( [PXString] string AcctCD ) { var result = new List <BranchItem>(); var cache = this._Graph.Caches[typeof(BranchItem)]; foreach (var organization in PXAccess.GetOrganizations(OnlyActive).Where(_ => _.DeletedDatabaseRecord == false)) { var o = new BranchItem() { BAccountID = organization.BAccountID, AcctName = organization.OrganizationName, /*BranchID = null*/ }; result.Add(o); object cd = organization.OrganizationCD; cache.RaiseFieldUpdating <BranchItem.acctCD>(o, ref cd); o.AcctCD = cd.ToString(); if (organization.IsSingle) { continue; } foreach (var branch in organization.ChildBranches.Where(_ => _.DeletedDatabaseRecord == false)) { var b = new BranchItem() { BAccountID = branch.BAccountID, AcctName = branch.BranchName, ParentBAccountID = organization.BAccountID, /*BranchID = branch.BranchID*/ }; cd = branch.BranchCD; cache.RaiseFieldUpdating <BranchItem.acctCD>(b, ref cd); b.AcctCD = cd.ToString(); result.Add(b); } } return(result); }