/// <summary> /// Performs an event frame search based on a query string /// </summary> /// <param name="query">Valid AF query</param> /// <param name="pageSize">Pagesize (Defaults to 1000)</param> private void RunEFQuery(string query, int pageSize = 1000) { AFDatabase db = Fixture.AFDatabase; using (var search = new AFEventFrameSearch( database: db, name: "EFQueryTest", query: query)) { int startIndex = 0; var coll = search.FindObjects(startIndex: startIndex, pageSize: pageSize); int totalEFExamined = 0; int valuesCapturedCount = 0; foreach (AFEventFrame ef in coll) { totalEFExamined++; if (ef.AreValuesCaptured) { valuesCapturedCount++; } } Output.WriteLine($"Found {totalEFExamined} Event Frames in [{db.GetPath()}] for a query of [{query}]."); Output.WriteLine($"{valuesCapturedCount} Event Frame's AreValuesCaptured are true."); } }
public GraphQlAfDatabase(AFDatabase aAfDatabase, Field afElementsField) { name = aAfDatabase.Name; path = aAfDatabase.GetPath(); thisAfDatabase = aAfDatabase; if (afElementsField != null) { var afElementsNameFilterStrings = GraphQlHelpers.GetArgumentStrings(afElementsField, "nameFilter"); var afElementsAttributeValueFilterStrings = GraphQlHelpers.GetArgumentStrings(afElementsField, "attributeValueFilter"); var afElementsChildField = GraphQlHelpers.GetFieldFromSelectionSet(afElementsField, "afElements"); var afAttributesChildField = GraphQlHelpers.GetFieldFromSelectionSet(afElementsField, "afAttributes"); var returnElementsObject = new ConcurrentBag <GraphQlAfElement>(); var afElementList = aAfDatabase.Elements; Parallel.ForEach(afElementList, aAfChildElement => { if (GraphQlHelpers.JudgeElementOnFilters(aAfChildElement, afElementsNameFilterStrings, afElementsAttributeValueFilterStrings)) { returnElementsObject.Add(new GraphQlAfElement(aAfChildElement, afElementsChildField, afAttributesChildField)); } }); afElements = returnElementsObject.OrderBy(x => x.name).ToList(); } }