private void TrackUids(IEnumerable <XElement> uids, MailboxLogEntry entry, ReportRowBase row) { foreach (XElement uid in uids) { MeetingTrackerItem meeting = GetTrackedMeeting(uid.Value); ApplicationData applicationData = new ApplicationData(uid.Parent); // Check to see if the OrganizerBytes have changed... if (meeting.OrganizerBytes != applicationData.OrganizerName) { if (meeting.OrganizerBytes != 0) { row.Columns[MeetingTrackerReport.OrganizerChanged] = "TRUE"; } meeting.OrganizerBytes = applicationData.OrganizerName; } // Check to see if the meeting loses attendees if (!meeting.HasAttendees.HasValue) { meeting.HasAttendees = applicationData.HasAttendees; } else if (meeting.HasAttendees.Value != applicationData.HasAttendees) { row.Columns[MeetingTrackerReport.HasAttendeesChanged] = "TRUE"; meeting.HasAttendees = applicationData.HasAttendees; } } }
internal override void ProcessLogEntry(MailboxLogEntry logEntry) { ReportRowBase row = null; if (TryGetRowFromEntry(logEntry, out row)) { this.ReportRows.Add(row); } }
private static void AppendValueToColumn(ReportRowBase row, string columnName, string value) { if (row[columnName] == null || (String.IsNullOrEmpty(row[columnName].ToString()))) { row[columnName] = value; } else { row[columnName] = row[columnName] + ", " + value; } }
private bool TryGetRowFromEntry(MailboxLogEntry logEntry, out ReportRowBase newRow) { newRow = null; try { var row = new BasicReportRow(logEntry); foreach (ReportColumnBase column in this.ReportColumns) { row[column.ColumnName] = column.CalculateColumnValue(logEntry); } newRow = row; return(true); } catch (Exception ex) { Debug.Assert(true, "Exception in TryGetRowFromEntry: " + ex.GetType().FullName + ", " + ex.Message); return(false); } }
private void TrackGoids(IEnumerable <XElement> goids, MailboxLogEntry entry, ReportRowBase row) { string uid = string.Empty; foreach (XElement goid in goids) { if (!TryConvertGoidToUid(goid.Value, out uid)) { continue; } MeetingTrackerItem meeting = GetTrackedMeeting(uid); ApplicationData applicationData = new ApplicationData(goid.Parent.Parent); // Check to see if the OrganizerBytes have changed... if (meeting.OrganizerBytes != applicationData.Organizer) { if (meeting.OrganizerBytes != 0) { row.Columns[MeetingTrackerReport.OrganizerChanged] = "TRUE"; } meeting.OrganizerBytes = applicationData.Organizer; } // Check to see if the meeting loses attendees if (!meeting.HasAttendees.HasValue) { meeting.HasAttendees = applicationData.HasAttendees; } else if (meeting.HasAttendees.Value != applicationData.HasAttendees) { row.Columns[MeetingTrackerReport.HasAttendeesChanged] = "TRUE"; meeting.HasAttendees = applicationData.HasAttendees; } } }
internal string RetrieveData(object report) { ReportRowBase rep = report as ReportRowBase; return(rep.RawData); }