// Token: 0x06000748 RID: 1864 RVA: 0x0001C748 File Offset: 0x0001A948 public void Write(ExchangeMailboxAuditRecord record) { MailboxSession mailboxSession = this.GetMailboxSession(record.OrganizationId, record.MailboxGuid); AuditEventRecordAdapter auditEvent = new ItemOperationAuditEventRecordAdapter(record, mailboxSession.OrganizationId.ToString()); mailboxSession.AuditMailboxAccess(auditEvent, true); }
public ItemOperationAuditEventRecordAdapter(ExchangeMailboxAuditRecord record, string displayOrganizationId) : base(record, displayOrganizationId) { this.record = record; }
// Token: 0x0600074F RID: 1871 RVA: 0x0001C87C File Offset: 0x0001AA7C public void Visit(ExchangeMailboxAuditRecord record) { this.mailboxAuditWriter.Write(record); }
public void Visit(ExchangeMailboxAuditRecord record) { this.Result = AuditLogRecord.FillMailboxAuditRecordDetails(record, this.trace); }
public static IAuditLogRecord FillMailboxAuditRecordDetails(ExchangeMailboxAuditRecord auditRecord, Trace trace) { ItemOperationAuditEventRecordAdapter itemOperationAuditEventRecordAdapter = new ItemOperationAuditEventRecordAdapter(auditRecord, auditRecord.OrganizationId); return(itemOperationAuditEventRecordAdapter.GetLogRecord()); }
public static ExchangeMailboxAuditRecord CreateMailboxItemRecord(MailboxSession mailboxSession, MailboxAuditOperations operation, COWSettings settings, OperationResult result, LogonType effectiveLogonType, bool externalAccess, StoreObjectId itemId, CoreItem item, ItemAuditInfo itemAuditInfo) { Util.ThrowOnNullArgument(settings, "settings"); if (MailboxAuditOperations.FolderBind != operation && MailboxAuditOperations.SendAs != operation && MailboxAuditOperations.SendOnBehalf != operation && MailboxAuditOperations.Create != operation) { Util.ThrowOnNullArgument(itemId, "itemId"); } ExchangeMailboxAuditRecord exchangeMailboxAuditRecord = new ExchangeMailboxAuditRecord(); AuditRecordFactory.Fill(exchangeMailboxAuditRecord, mailboxSession, operation, result, effectiveLogonType, externalAccess); if (settings.CurrentFolderId != null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.ParentFolder = (exchangeMailboxAuditRecord.Item.ParentFolder ?? new ExchangeFolder()); exchangeMailboxAuditRecord.Item.ParentFolder.Id = string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { settings.CurrentFolderId }); if (itemAuditInfo != null && itemAuditInfo.ParentFolderPathName != null) { exchangeMailboxAuditRecord.Item.ParentFolder.PathName = itemAuditInfo.ParentFolderPathName; } else { string currentFolderPathName = AuditRecordFactory.GetCurrentFolderPathName(mailboxSession, settings); if (currentFolderPathName != null) { exchangeMailboxAuditRecord.Item.ParentFolder.PathName = currentFolderPathName; } } } if (MailboxAuditOperations.FolderBind == operation) { return(exchangeMailboxAuditRecord); } if (MailboxAuditOperations.Update == operation || MailboxAuditOperations.Create == operation) { if (itemAuditInfo == null) { throw new InvalidOperationException("ItemOperationAuditEvent::itemAuditInfo should not be null for Update/Create operations."); } exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); if (itemAuditInfo.Id != null) { exchangeMailboxAuditRecord.Item.Id = string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { itemAuditInfo.Id }); } exchangeMailboxAuditRecord.Item.Subject = itemAuditInfo.Subject; if (MailboxAuditOperations.Update == operation) { List <string> dirtyProperties = itemAuditInfo.DirtyProperties; exchangeMailboxAuditRecord.ModifiedProperties = dirtyProperties; } } else if (MailboxAuditOperations.SendAs == operation || MailboxAuditOperations.SendOnBehalf == operation) { if (item.Id != null && item.Id.ObjectId != null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.Id = string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { item.Id.ObjectId }); } string itemSubject = AuditRecordFactory.GetItemSubject(mailboxSession, item); if (itemSubject != null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.Subject = (item.PropertyBag.TryGetProperty(CoreItemSchema.Subject) as string); } } else if (item == null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.Id = string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { itemId }); } else { if (item.Id != null && item.Id.ObjectId != null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.Id = string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { item.Id.ObjectId }); } string itemSubject2 = AuditRecordFactory.GetItemSubject(mailboxSession, item); if (itemSubject2 != null) { exchangeMailboxAuditRecord.Item = (exchangeMailboxAuditRecord.Item ?? new ExchangeItem()); exchangeMailboxAuditRecord.Item.Subject = (item.PropertyBag.TryGetProperty(CoreItemSchema.Subject) as string); } } return(exchangeMailboxAuditRecord); }