private TreeViewItem GetLink(LinkReportResponse report, ReportCollector collector)
        {
            var res = new TreeViewItem();

            res.Header = GetHeader(report.initOwner, " - link");
            var endpoints = WrapNode("Endpoints");

            if (report.EndpointArgPoint1)
            {
                endpoints.Items.Add(GetPointReport(report.ArgPoint1));
            }
            else
            {
                endpoints.Items.Add(
                    GetCluster(collector.ClusterReports.FirstOrDefault(c0 => c0.clusterId == report.IdOfCluster1)));
            }

            if (report.EndpointArgPoint2)
            {
                endpoints.Items.Add(GetPointReport(report.ArgPoint2));
            }
            else
            {
                endpoints.Items.Add(
                    GetCluster(collector.ClusterReports.FirstOrDefault(c0 => c0.clusterId == report.IdOfCluster2)));
            }

            res.Items.Add(endpoints);

            return(res);
        }
        private TextBlock GetAttachmentsSummary(ReportCollector report)
        {
            var txt = "<media summary>\r\n";

            txt += "No. of images " + report.NumImagesInSession + "\r\n";
            txt += "No. of PDF " + report.NumPdfInSession + "\r\n";
            txt += "No. of screenshots " + report.NumScreenshotsInSession + "\r\n";
            txt += "No. of videos " + report.NumYoutubeInSession;
            return(StatsUtils.WrapText(txt));
        }
        private TreeViewItem GetTopicReport(TopicReport report, ReportCollector collector)
        {
            var res = new TreeViewItem();

            res.Items.Add(GetTopicSummary(report, collector.ReportParams, false));
            res.Header = "Basic summary - " + report.topic.Name;

            //clusters
            var clusters = WrapNode("Clusters");

            foreach (var clustReport in collector.ClusterReports)
            {
                if (clustReport.topic.Id != report.topic.Id)
                {
                    continue;
                }

                clusters.Items.Add(GetCluster(clustReport));
            }
            res.Items.Add(clusters);

            //links
            var links = WrapNode("Links");

            foreach (var linkReport in collector.LinkReports)
            {
                if (linkReport.topicId != report.topic.Id)
                {
                    continue;
                }

                links.Items.Add(GetLink(linkReport, collector));
            }
            res.Items.Add(links);

            return(res);
        }
Example #4
0
 private TextBlock GetAttachmentsSummary(ReportCollector report)
 {
     var txt = "<media summary>\r\n";
     txt += "No. of images " + report.NumImagesInSession + "\r\n";
     txt += "No. of PDF " + report.NumPdfInSession + "\r\n";
     txt += "No. of screenshots " + report.NumScreenshotsInSession + "\r\n";
     txt += "No. of videos " + report.NumYoutubeInSession;
     return StatsUtils.WrapText(txt);
 }
Example #5
0
        public void reportGenerated(ReportCollector sender, object args)
        {
            txtLastSync.Text = DateTime.Now.ToString();

            TreeViewItem topicsNode = null;
            TreeViewItem usersNode = null;
            TreeViewItem eventsNode = null;
            if (args == leftReportTree)
            {
                _reportCollector1 = sender;
                topicsNode = topicSection1;
                usersNode = usersSection1;
                eventsNode = eventSection1;
                reportHeader1.SetParticipants(sender.Participants);
            }
            else if (args == rightReportTree)
            {
                _reportCollector2 = sender;
                topicsNode = topicSection2;
                usersNode = usersSection2;
                eventsNode = eventSection2;
                reportHeader2.SetParticipants(sender.Participants);
            }
            else
                throw new NotSupportedException();

            topicsNode.Items.Clear();
            foreach (var topicReport in sender.TopicReports)
                topicsNode.Items.Add(GetTopicReport(topicReport, sender));

            if (_reportCollector1 != null && _reportCollector2 != null)
            {
                var requiredUsers = StatsUtils.Union(reportHeader1.getReportParams(false).requiredUsers,
                                                     reportHeader2.getReportParams(false).requiredUsers);
                var totals = ReportCollector.GetTotalTopicsReports(_reportCollector1.TopicReports.First(),
                                                                   _reportCollector2.TopicReports.First(),
                                                                   requiredUsers);
                topicsNode.Items.Add(GetTotalTopicSummary(totals));
            }

            topicsNode.Items.Add(GetAttachmentsSummary(sender));

            topicsNode.Items.Add(StatsUtils.GetEventTotals(sender.EventTotals));

            usersNode.Items.Clear();
            foreach (var report in sender.ArgPointReports.Values)
            {
                EventUserReport eventReport = null;
                if (report.Count > 0)
                {
                    eventReport = sender.PerUserEventReportDict.ContainsKey(report.First().user.Id)
                                      ? sender.PerUserEventReportDict[report.First().user.Id]
                                      : null;
                }
                usersNode.Items.Add(GetUserSummary(report, eventReport));
            }

            eventsNode.Items.Clear();
            foreach (var ev in sender.StatsEvents)
                eventsNode.Items.Add(GetEvent(ev, sender.GetCtx()));
            usersNode.Items.Add(GetUserOneTopicSummary(sender.TotalArgPointReport, true));
        }
Example #6
0
        private TreeViewItem GetTopicReport(TopicReport report, ReportCollector collector)
        {
            var res = new TreeViewItem();
            res.Items.Add(GetTopicSummary(report, collector.ReportParams, false));
            res.Header = "Basic summary - " + report.topic.Name;

            //clusters
            var clusters = WrapNode("Clusters");
            foreach (var clustReport in collector.ClusterReports)
            {
                if (clustReport.topic.Id != report.topic.Id)
                    continue;

                clusters.Items.Add(GetCluster(clustReport));
            }
            res.Items.Add(clusters);

            //links            
            var links = WrapNode("Links");
            foreach (var linkReport in collector.LinkReports)
            {
                if (linkReport.topicId != report.topic.Id)
                    continue;

                links.Items.Add(GetLink(linkReport, collector));
            }
            res.Items.Add(links);

            return res;
        }
Example #7
0
        private TreeViewItem GetLink(LinkReportResponse report, ReportCollector collector)
        {
            var res = new TreeViewItem();
            res.Header = GetHeader(report.initOwner, " - link");
            var endpoints = WrapNode("Endpoints");

            if (report.EndpointArgPoint1)
                endpoints.Items.Add(GetPointReport(report.ArgPoint1));
            else
                endpoints.Items.Add(
                    GetCluster(collector.ClusterReports.FirstOrDefault(c0 => c0.clusterId == report.IdOfCluster1)));

            if (report.EndpointArgPoint2)
                endpoints.Items.Add(GetPointReport(report.ArgPoint2));
            else
                endpoints.Items.Add(
                    GetCluster(collector.ClusterReports.FirstOrDefault(c0 => c0.clusterId == report.IdOfCluster2)));

            res.Items.Add(endpoints);

            return res;
        }
        public void reportGenerated(ReportCollector sender, object args)
        {
            txtLastSync.Text = DateTime.Now.ToString();

            TreeViewItem topicsNode = null;
            TreeViewItem usersNode  = null;
            TreeViewItem eventsNode = null;

            if (args == leftReportTree)
            {
                _reportCollector1 = sender;
                topicsNode        = topicSection1;
                usersNode         = usersSection1;
                eventsNode        = eventSection1;
                reportHeader1.SetParticipants(sender.Participants);
            }
            else if (args == rightReportTree)
            {
                _reportCollector2 = sender;
                topicsNode        = topicSection2;
                usersNode         = usersSection2;
                eventsNode        = eventSection2;
                reportHeader2.SetParticipants(sender.Participants);
            }
            else
            {
                throw new NotSupportedException();
            }

            topicsNode.Items.Clear();
            foreach (var topicReport in sender.TopicReports)
            {
                topicsNode.Items.Add(GetTopicReport(topicReport, sender));
            }

            if (_reportCollector1 != null && _reportCollector2 != null)
            {
                var requiredUsers = StatsUtils.Union(reportHeader1.getReportParams(false).requiredUsers,
                                                     reportHeader2.getReportParams(false).requiredUsers);
                var totals = ReportCollector.GetTotalTopicsReports(_reportCollector1.TopicReports.First(),
                                                                   _reportCollector2.TopicReports.First(),
                                                                   requiredUsers);
                topicsNode.Items.Add(GetTotalTopicSummary(totals));
            }

            topicsNode.Items.Add(GetAttachmentsSummary(sender));

            topicsNode.Items.Add(StatsUtils.GetEventTotals(sender.EventTotals));

            usersNode.Items.Clear();
            foreach (var report in sender.ArgPointReports.Values)
            {
                EventUserReport eventReport = null;
                if (report.Count > 0)
                {
                    eventReport = sender.PerUserEventReportDict.ContainsKey(report.First().user.Id)
                                      ? sender.PerUserEventReportDict[report.First().user.Id]
                                      : null;
                }
                usersNode.Items.Add(GetUserSummary(report, eventReport));
            }

            eventsNode.Items.Clear();
            foreach (var ev in sender.StatsEvents)
            {
                eventsNode.Items.Add(GetEvent(ev, sender.GetCtx()));
            }
            usersNode.Items.Add(GetUserOneTopicSummary(sender.TotalArgPointReport, true));
        }
Example #9
0
 public void onReportGenerated(ReportCollector sender, object args)
 {
     _hardReportTCS.SetResult(sender);
     _hardReportTCS = null;
 }