using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using CTA.Rules.Models; namespace CTA.WebForms.Metrics { public class WebFormMetricContext { private BlockingCollection WebFormMetrics { get; set; } public WebFormMetricContext() { WebFormMetrics = new BlockingCollection(); } public void CollectActionMetrics(WebFormsActionType actionName, string childActionName, string nodeName = null) { var metric = new WebFormMetric(actionName, childActionName, nodeName); WebFormMetrics.Add(metric); } public List Transform() { var metrics = new List(); foreach (var metric in WebFormMetrics) { metrics.Add(new WebFormsMetricResult() { ActionName = metric.ActionName, ChildAction = metric.ChildActionName, NodeName = metric.NodeName }); } return metrics; } } }