} // getWhereClause /// <summary> /// Get Child IDs /// </summary> /// <param name="ID">start node</param> /// <returns>array if IDs</returns> public int?[] GetChildIDs(int ID) { log.Fine("(" + _ElementType + ") ID=" + ID); List <int?> list = new List <int?>(); // VTreeNode node = _tree.GetRootNode().FindNode(ID); log.Finest("Root=" + node); // if (node != null && node.IsSummary) { System.Collections.IEnumerator en = node.preorderEnumeration(); while (en.MoveNext()) { VTreeNode nn = (VTreeNode)en.Current; if (!nn.IsSummary) { list.Add(Utility.Util.GetValueOfInt(nn.GetNode_ID())); log.Finest("- " + nn); } else { log.Finest("- skipped parent (" + nn + ")"); } } } else // not found or not summary { list.Add(Utility.Util.GetValueOfInt(ID)); } // int?[] retValue = new int?[list.Count]; retValue = list.ToArray(); return(retValue); } // getWhereClause
} // getTreeType /// <summary> /// Get Where Clause /// </summary> /// <param name="ID">start node</param> /// <returns>ColumnName = 1 or ColumnName IN (1,2,3)</returns> public String GetWhereClause(int ID) { log.Fine("(" + _ElementType + ") ID=" + ID); String ColumnName = MAcctSchemaElement.GetColumnName(_ElementType); if (ID == 0) // All { return(ColumnName + " IS NOT NULL"); } VTreeNode nod = _tree.GetRootNode().FindNode(ID); log.Finest("Root=" + nod); // StringBuilder result = null; if (nod != null && nod.IsSummary) { StringBuilder sb = new StringBuilder(); System.Collections.IEnumerator en = nod.preorderEnumeration(); while (en.MoveNext()) { VTreeNode nn = (VTreeNode)en.Current; if (!nn.IsSummary) { if (sb.Length > 0) { sb.Append(","); } sb.Append(nn.GetNode_ID()); log.Finest("- " + nn); } else { log.Finest("- skipped parent (" + nn + ")"); } } result = new StringBuilder(ColumnName).Append(" IN (").Append(sb).Append(")"); } else // not found or not summary { result = new StringBuilder(ColumnName).Append("=").Append(ID); } // log.Finest(result.ToString()); return(result.ToString()); } // getWhereClause