/// <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.");
            }
        }
Exemple #2
0
        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();
            }
        }