private void Report2ParamsChanged(ReportParameters param) { if (param != null) { new ReportCollector(null, reportGenerated, param, rightReportTree, UISharedRTClient.Instance.clienRt); } }
public ReportParameters getReportParams(bool forceDlg) { if (_parameters != null && !forceDlg) { return(_parameters); } var dlg = new SessionTopicDlg(); dlg.ShowDialog(); if (dlg.reportParameters != null) { Session = dlg.reportParameters.session.Name; Topic = dlg.reportParameters.topic.Name; Discussion = dlg.reportParameters.discussion.Subject; } else { Session = ""; Topic = ""; Discussion = ""; } _parameters = dlg.reportParameters; return(_parameters); }
private TextBlock GetTopicSummary(TopicReport report, ReportParameters param, bool total) { var txt = " Cumulative duration: " + TimeSpan.FromSeconds(report.cumulativeDuration) + "\r\n"; var nUsr = 0; if (total) { nUsr = report.GetNumAccumulatedParticipantsAmong(); } else { nUsr = report.GetNumParticipantsAmong(param.requiredUsers); } txt += " No. of users: " + nUsr + "\r\n"; txt += " No. of arg. points: " + report.numPoints + "\r\n"; txt += " No. of arg. points with description: " + report.numPointsWithDescription + "\r\n"; txt += " No. of media attachments: " + report.numMediaAttachments + "\r\n"; txt += " No. of sources: " + report.numSources + "\r\n"; txt += " No. of comments: " + report.numComments + "\r\n"; if (!total) { txt += " No. of clustered badges: " + report.numClusteredBadges + "\r\n"; } txt += " No. of clusters: " + report.numClusters + "\r\n"; txt += " No. of links: " + report.numLinks; var res = new TextBlock(); res.Text = txt; return(res); }
public ReportParameters getReportParams(bool forceDlg) { if (_parameters != null && !forceDlg) return _parameters; var dlg = new SessionTopicDlg(); dlg.ShowDialog(); if (dlg.reportParameters != null) { Session = dlg.reportParameters.session.Name; Topic = dlg.reportParameters.topic.Name; Discussion = dlg.reportParameters.discussion.Subject; } else { Session = ""; Topic = ""; Discussion = ""; } _parameters = dlg.reportParameters; return _parameters; }
private void OnJoined() { _clienRt.onJoin -= OnJoined; _clienRt.onScreenshotResponse += onScreenshotResponse; _clienRt.SendScreenshotRequest(_topic.Id, _disc.Id); var reportParameters = new Reporter.ReportParameters( _session.Person.Select(p => p.Id).Distinct().ToList(), _session, _topic, _disc); new ReportCollector(null, onReportGenerated, reportParameters, null, _clienRt); }
void GenerateReportTargets() { ReportTargets = new List <ReportParameters>(); var ctx = new DiscCtx(Discussions.ConfigManager.ConnStr); var sessions = ctx.Session.ToList(); var sessionIdToPersons = new Dictionary <int, List <Person> >(); foreach (var session in sessions) { List <Person> sessionPersons = GetPersonsOfSession(session); sessionIdToPersons.Add(session.Id, sessionPersons); } var allTopics = new List <Topic>(); var usersOfAllSessions = new List <Person>(); foreach (var session in sessions) { //get users of current session foreach (var person in session.Person) { if (usersOfAllSessions.All(u => u.Id != person.Id)) { usersOfAllSessions.Add(person); } foreach (var persTopic in person.Topic) { if (allTopics.All(t => t.Id != persTopic.Id)) { allTopics.Add(persTopic); var reportParams = new ReportParameters( sessionIdToPersons[session.Id].Select(p => p.Id).ToList(), session, persTopic, persTopic.Discussion ); ReportTargets.Add(reportParams); } } } } }
public static void Export(string reportPathName, TopicReport topicReport1, ReportParameters params1, EventTotalsReport eventTotals1, TopicReport topicReport2, ReportParameters params2, EventTotalsReport eventTotals2) { try { System.IO.File.WriteAllText(reportPathName, Export(topicReport1, params1, eventTotals1, topicReport2, params2, eventTotals2)); } catch (IOException x) { MessageDlg.Show(x.ToString()); } }
void GenerateReportTargets() { ReportTargets = new List<ReportParameters>(); var ctx = new DiscCtx(Discussions.ConfigManager.ConnStr); var sessions = ctx.Session.ToList(); var sessionIdToPersons = new Dictionary<int, List<Person>>(); foreach (var session in sessions) { List<Person> sessionPersons = GetPersonsOfSession(session); sessionIdToPersons.Add(session.Id, sessionPersons); } var allTopics = new List<Topic>(); var usersOfAllSessions = new List<Person>(); foreach (var session in sessions) { //get users of current session foreach (var person in session.Person) { if (usersOfAllSessions.All(u => u.Id != person.Id)) usersOfAllSessions.Add(person); foreach (var persTopic in person.Topic) { if (allTopics.All(t => t.Id != persTopic.Id)) { allTopics.Add(persTopic); var reportParams = new ReportParameters( sessionIdToPersons[session.Id].Select(p => p.Id).ToList(), session, persTopic, persTopic.Discussion ); ReportTargets.Add(reportParams); } } } } }
private void btnOk_Click_1(object sender, RoutedEventArgs e) { if (lstSessions.SelectedItem == null || lstTopics.SelectedItem == null) { MessageDlg.Show("Please select session and topic to generate report"); return; } _session = lstSessions.SelectedItem as Session; _topic = lstTopics.SelectedItem as Topic; _users = new List <int>(); foreach (var pers in _session.Person) { _users.Add(pers.Id); } _reportParameters = new ReportParameters(Users, session, topic, lstDiscussions.SelectedItem as Discussion); Close(); }
public ReportCollector(TopicReportReady topicReportReady, ReportReady reportGenerated, ReportParameters reportParams, object param, DiscussionsClientRT.ClientRT clientRt) { _reportParams = reportParams; _param = param; _clientRT = clientRt; _ctx = new DiscCtx(Discussions.ConfigManager.ConnStr); _topicReportReady = topicReportReady; _allTopicsReport = new TopicReport(null, 0, 0, 0, 0, 0, 0, null, null, 0, 0, 0, 0, 0, 0, 0); _reportGenerated = reportGenerated; setListeners(true); topics = new List <Topic>() { _reportParams.topic }; prepareArgPointReports(); prepareEvents(); if (topics.Count() > 0) { _clientRT.dEditorReportResponse += dEditorReportResponse; _clientRT.SendDEditorRequest(topics.First().Id); } else { finalizeReport(); } }
private TextBlock GetTopicSummary(TopicReport report, ReportParameters param, bool total) { var txt = " Cumulative duration: " + TimeSpan.FromSeconds(report.cumulativeDuration) + "\r\n"; var nUsr = 0; if (total) nUsr = report.GetNumAccumulatedParticipantsAmong(); else nUsr = report.GetNumParticipantsAmong(param.requiredUsers); txt += " No. of users: " + nUsr + "\r\n"; txt += " No. of arg. points: " + report.numPoints + "\r\n"; txt += " No. of arg. points with description: " + report.numPointsWithDescription + "\r\n"; txt += " No. of media attachments: " + report.numMediaAttachments + "\r\n"; txt += " No. of sources: " + report.numSources + "\r\n"; txt += " No. of comments: " + report.numComments + "\r\n"; if (!total) txt += " No. of clustered badges: " + report.numClusteredBadges + "\r\n"; txt += " No. of clusters: " + report.numClusters + "\r\n"; txt += " No. of links: " + report.numLinks; var res = new TextBlock(); res.Text = txt; return res; }
private static string Export(TopicReport topicReport1, ReportParameters params1, EventTotalsReport eventTotals1, TopicReport topicReport2, ReportParameters params2, EventTotalsReport eventTotals2) { //write header var sb = new StringBuilder(); sb.Append("SessionName;"); sb.Append("TopicName;"); sb.Append("NumUsers;"); sb.Append("NumImages;"); sb.Append("NumScreenshots;"); sb.Append("NumPDFs;"); sb.Append("NumVideos;"); sb.Append("CumulativeDuration;"); sb.Append("NumClusteredBadges;"); sb.Append("NumClusters;"); sb.Append("NumComments;"); sb.Append("NumLinks;"); sb.Append("NumMediaAttachments;"); sb.Append("NumPoints;"); sb.Append("NumPointsWithDescription;"); sb.Append("NumSources;"); sb.Append("TotalRecordingStarted;"); sb.Append("TotalRecordingStopped;"); sb.Append("TotalBadgeCreated;"); sb.Append("TotalBadgeEdited;"); sb.Append("TotalBadgeMoved;"); sb.Append("TotalBadgeZoomIn;"); sb.Append("TotalClusterCreated;"); sb.Append("TotalClusterDeleted;"); sb.Append("TotalClusterIn;"); sb.Append("TotalClusterOut;"); sb.Append("TotalClusterMoved;"); sb.Append("TotalClusterTitlesAdded;"); sb.Append("TotalClusterTitlesEdited;"); sb.Append("TotalClusterTitlesRemoved;"); sb.Append("TotalLinkCreated;"); sb.Append("TotalLinkRemoved;"); sb.Append("TotalFreeDrawingCreated;"); sb.Append("TotalFreeDrawingRemoved;"); sb.Append("TotalFreeDrawingResize;"); sb.Append("TotalFreeDrawingMoved;"); sb.Append("TotalSceneZoomedIn;"); sb.Append("TotalSceneZoomedOut;"); sb.Append("TotalArgPointTopicChanged;"); sb.Append("TotalSourceAdded;"); sb.Append("TotalSourceRemoved;"); sb.Append("TotalImageAdded;"); sb.Append("TotalImageUrlAdded;"); sb.Append("TotalPdfAdded;"); sb.Append("TotalPdfUrlAdded;"); sb.Append("TotalYoutubeAdded;"); sb.Append("TotalScreenshotAdded;"); sb.Append("TotalMediaRemoved;"); sb.Append("TotalCommentAdded;"); sb.Append("TotalCommentRemoved;"); sb.Append("TotalImageOpened;"); sb.Append("TotalVideoOpened;"); sb.Append("TotalScreenshotOpened;"); sb.Append("TotalPdfOpened;"); sb.Append("TotalSourceOpened;"); sb.AppendLine("TotalLaserEnabled;"); //first line AddSessionTopicRow(sb, topicReport1, params1, eventTotals1); //second line if (topicReport2 != null && params2 != null && eventTotals2 != null) { AddSessionTopicRow(sb, topicReport2, params2, eventTotals2); } return(sb.ToString()); }
private void Report2ParamsChanged(ReportParameters param) { if (param != null) new ReportCollector(null, reportGenerated, param, rightReportTree, UISharedRTClient.Instance.clienRt); }
public static void ArgPointTotalsOverTopic(ReportParameters par, Topic topic, out int numSrc, out int numComments, out int numImages, out int numPdfs, out int numScreenshots, out int numYoutubes) { numSrc = 0; numComments = 0; numImages = 0; numPdfs = 0; numScreenshots = 0; numYoutubes = 0; foreach (var pt in topic.ArgPoint) { if (par.requiredUsers.Contains(pt.Person.Id)) { numSrc += pt.Description.Source.Count(); foreach (var a in pt.Attachment) { switch ((AttachmentFormat)a.Format) { case AttachmentFormat.None: break; case AttachmentFormat.Jpg: numImages++; break; case AttachmentFormat.Png: numImages++; break; case AttachmentFormat.Bmp: numImages++; break; case AttachmentFormat.Pdf: numPdfs++; break; case AttachmentFormat.Youtube: numYoutubes++; break; case AttachmentFormat.GeneralWebLink: break; case AttachmentFormat.PngScreenshot: numScreenshots++; break; case AttachmentFormat.WordDocSet: break; case AttachmentFormat.ExcelDocSet: break; case AttachmentFormat.PowerPointDocSet: break; default: throw new NotSupportedException(); } } } foreach (var c in pt.Comment) { if (c.Person == null) { return; } if (c.Text != "New feedback" && par.requiredUsers.Contains(c.Person.Id)) { ++numComments; } } } }
private static void AddSessionTopicRow(StringBuilder sb, TopicReport topicReport1, ReportParameters params1, EventTotalsReport eventTotals1) { sb.Append("\"" + params1.session.Name + "\""); sb.Append(";"); sb.Append("\"" + params1.topic.Name + "\""); sb.Append(";"); sb.Append(params1.sessionTopicUsers.Count()); sb.Append(";"); sb.Append(topicReport1.numImages); sb.Append(";"); sb.Append(topicReport1.numScreenshots); sb.Append(";"); sb.Append(topicReport1.numPDFs); sb.Append(";"); sb.Append(topicReport1.numYoutubes); sb.Append(";"); sb.Append(TimeSpan.FromSeconds(topicReport1.cumulativeDuration).ToString()); sb.Append(";"); sb.Append(topicReport1.numClusteredBadges.ToString()); sb.Append(";"); sb.Append(topicReport1.numClusters.ToString()); sb.Append(";"); sb.Append(topicReport1.numComments.ToString()); sb.Append(";"); sb.Append(topicReport1.numLinks.ToString()); sb.Append(";"); sb.Append(topicReport1.numMediaAttachments.ToString()); sb.Append(";"); sb.Append(topicReport1.numPoints.ToString()); sb.Append(";"); sb.Append(topicReport1.numPointsWithDescription.ToString()); sb.Append(";"); sb.Append(topicReport1.numSources.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalRecordingStarted.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalRecordingStopped.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalBadgeCreated.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalBadgeEdited.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalBadgeMoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalBadgeZoomIn.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterCreated.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterDeleted.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterIn.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterOut.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterMoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterTitlesAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterTitlesEdited.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalClusterTitlesRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalLinkCreated.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalLinkRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalFreeDrawingCreated.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalFreeDrawingRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalFreeDrawingResize.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalFreeDrawingMoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalSceneZoomedIn.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalSceneZoomedOut.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalArgPointTopicChanged.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalSourceAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalSourceRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalImageAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalImageUrlAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalPdfAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalPdfUrlAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalYoutubeAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalScreenshotAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalMediaRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalCommentAdded.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalCommentRemoved.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalImageOpened.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalVideoOpened.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalScreenshotOpened.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalPdfOpened.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalSourceOpened.ToString()); sb.Append(";"); sb.Append(eventTotals1.TotalLaserEnabled.ToString() + ";"); }
private void btnOk_Click_1(object sender, RoutedEventArgs e) { if (lstSessions.SelectedItem == null || lstTopics.SelectedItem == null) { MessageDlg.Show("Please select session and topic to generate report"); return; } _session = lstSessions.SelectedItem as Session; _topic = lstTopics.SelectedItem as Topic; _users = new List<int>(); foreach (var pers in _session.Person) _users.Add(pers.Id); _reportParameters = new ReportParameters(Users, session, topic, lstDiscussions.SelectedItem as Discussion); Close(); }
public ReportCollector(TopicReportReady topicReportReady, ReportReady reportGenerated, ReportParameters reportParams, object param, DiscussionsClientRT.ClientRT clientRt) { _reportParams = reportParams; _param = param; _clientRT = clientRt; _ctx = new DiscCtx(Discussions.ConfigManager.ConnStr); _topicReportReady = topicReportReady; _allTopicsReport = new TopicReport(null, 0, 0, 0, 0, 0, 0, null, null, 0, 0, 0, 0, 0, 0, 0); _reportGenerated = reportGenerated; setListeners(true); topics = new List<Topic>() {_reportParams.topic}; prepareArgPointReports(); prepareEvents(); if (topics.Count() > 0) { _clientRT.dEditorReportResponse += dEditorReportResponse; _clientRT.SendDEditorRequest(topics.First().Id); } else { finalizeReport(); } }
public static void ArgPointTotalsOverTopic(ReportParameters par, Topic topic, out int numSrc, out int numComments, out int numImages, out int numPdfs, out int numScreenshots, out int numYoutubes) { numSrc = 0; numComments = 0; numImages = 0; numPdfs = 0; numScreenshots = 0; numYoutubes = 0; foreach (var pt in topic.ArgPoint) { if (par.requiredUsers.Contains(pt.Person.Id)) { numSrc += pt.Description.Source.Count(); foreach (var a in pt.Attachment) { switch ((AttachmentFormat) a.Format) { case AttachmentFormat.None: break; case AttachmentFormat.Jpg: numImages++; break; case AttachmentFormat.Png: numImages++; break; case AttachmentFormat.Bmp: numImages++; break; case AttachmentFormat.Pdf: numPdfs++; break; case AttachmentFormat.Youtube: numYoutubes++; break; case AttachmentFormat.GeneralWebLink: break; case AttachmentFormat.PngScreenshot: numScreenshots++; break; case AttachmentFormat.WordDocSet: break; case AttachmentFormat.ExcelDocSet: break; case AttachmentFormat.PowerPointDocSet: break; default: throw new NotSupportedException(); } } } foreach (var c in pt.Comment) { if (c.Person == null) return; if (c.Text != "New feedback" && par.requiredUsers.Contains(c.Person.Id)) ++numComments; } } }
private static string Export(TopicReport topicReport1, ReportParameters params1, EventTotalsReport eventTotals1, TopicReport topicReport2, ReportParameters params2, EventTotalsReport eventTotals2) { //write header var sb = new StringBuilder(); sb.Append("SessionName;"); sb.Append("TopicName;"); sb.Append("NumUsers;"); sb.Append("NumImages;"); sb.Append("NumScreenshots;"); sb.Append("NumPDFs;"); sb.Append("NumVideos;"); sb.Append("CumulativeDuration;"); sb.Append("NumClusteredBadges;"); sb.Append("NumClusters;"); sb.Append("NumComments;"); sb.Append("NumLinks;"); sb.Append("NumMediaAttachments;"); sb.Append("NumPoints;"); sb.Append("NumPointsWithDescription;"); sb.Append("NumSources;"); sb.Append("TotalRecordingStarted;"); sb.Append("TotalRecordingStopped;"); sb.Append("TotalBadgeCreated;"); sb.Append("TotalBadgeEdited;"); sb.Append("TotalBadgeMoved;"); sb.Append("TotalBadgeZoomIn;"); sb.Append("TotalClusterCreated;"); sb.Append("TotalClusterDeleted;"); sb.Append("TotalClusterIn;"); sb.Append("TotalClusterOut;"); sb.Append("TotalClusterMoved;"); sb.Append("TotalClusterTitlesAdded;"); sb.Append("TotalClusterTitlesEdited;"); sb.Append("TotalClusterTitlesRemoved;"); sb.Append("TotalLinkCreated;"); sb.Append("TotalLinkRemoved;"); sb.Append("TotalFreeDrawingCreated;"); sb.Append("TotalFreeDrawingRemoved;"); sb.Append("TotalFreeDrawingResize;"); sb.Append("TotalFreeDrawingMoved;"); sb.Append("TotalSceneZoomedIn;"); sb.Append("TotalSceneZoomedOut;"); sb.Append("TotalArgPointTopicChanged;"); sb.Append("TotalSourceAdded;"); sb.Append("TotalSourceRemoved;"); sb.Append("TotalImageAdded;"); sb.Append("TotalImageUrlAdded;"); sb.Append("TotalPdfAdded;"); sb.Append("TotalPdfUrlAdded;"); sb.Append("TotalYoutubeAdded;"); sb.Append("TotalScreenshotAdded;"); sb.Append("TotalMediaRemoved;"); sb.Append("TotalCommentAdded;"); sb.Append("TotalCommentRemoved;"); sb.Append("TotalImageOpened;"); sb.Append("TotalVideoOpened;"); sb.Append("TotalScreenshotOpened;"); sb.Append("TotalPdfOpened;"); sb.Append("TotalSourceOpened;"); sb.AppendLine("TotalLaserEnabled;"); //first line AddSessionTopicRow(sb, topicReport1, params1, eventTotals1); //second line if (topicReport2 != null && params2 != null && eventTotals2 != null) AddSessionTopicRow(sb, topicReport2, params2, eventTotals2); return sb.ToString(); }