コード例 #1
0
        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;
                }
            }
        }
コード例 #2
0
        internal override void ProcessLogEntry(MailboxLogEntry logEntry)
        {
            ReportRowBase row = null;

            if (TryGetRowFromEntry(logEntry, out row))
            {
                this.ReportRows.Add(row);
            }
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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;
                }
            }
        }
コード例 #6
0
        internal string RetrieveData(object report)
        {
            ReportRowBase rep = report as ReportRowBase;

            return(rep.RawData);
        }