Beispiel #1
0
        public void Analyze(BackgroundWorker worker)
        {
            GlobalStatsCalculator = new GlobalStatsCalculator(this);
            GlobalStatsCalculator.OnProgressChanged += (d, s) => worker.ReportProgress((int)d, s);
            Linker = new Linker(this);
            Linker.OnProgressChanged += (d, s) => worker.ReportProgress((int)d, s);
            Linker.DetectEvents();

            foreach (var intermediary in Intermediaries)
            {
                var bsc = new BrokerStatisticsCalculator(intermediary.Value, this);
                bsc.OnProgressChanged += (d, s) => worker.ReportProgress((int)d, s);
                bsc.CalculateStats();
                intermediary.Value.Stats = bsc;

                var ic = new InsightCalculator(this, intermediary.Value);
                ic.OnProgressChanged += (d, s) => worker.ReportProgress((int)d, s);
                ic.RecommendInsights();
                intermediary.Value.Insights = ic;
            }
            GlobalStatsCalculator.CalculateStats();
        }