static void Main(string[] args) { using (var api = new EmsApiService()) { api.CachedEmsSystem = 1; AnalyticGroupContents rootGroup = api.Analytics.GetGroup(); EnumerateRecursive(rootGroup, api); } }
private static void EnumerateRecursive(AnalyticGroupContents group, EmsApiService api, int indent = 0) { // Calculate indent string. string indentStr = string.Empty; for (int i = 0; i < indent; ++i) { indentStr += "\t"; } // For this example we are only showing groups, but individual analytics are easy as well: // foreach( AnalyticInfo analytic in group.Analytics ) // Console.WriteLine( string.Format( "{0} | Analytic: {1}", indentStr, analytic.Name ) ); // Recurse into the groups. foreach (AnalyticGroup innerGroup in group.Groups) { Console.WriteLine(string.Format("{0} | {1}", indentStr, innerGroup.Name)); EnumerateRecursive(api.Analytics.GetGroup(innerGroup.Id), api, indent + 1); } }