此代码旨在在邮箱补液后执行清除操作(来自Symantec Enterprise Vault)。在补液之前,我们获取邮箱中所有项目的MessageId
和ConversationId
的快照索引。
补液后此代码
if (string.Equals(item.ItemClass, "IPM.Note.EnterpriseVault.Shortcut", StringComparison.InvariantCulture) || ((existingIds.Any(x => x.ConversationId == item.ConversationId.ToString()) == false || (item.ItemClass == "IPM.Appointment" && existingIds.Any(x => x.MessageId == item.Id.ToString()) == false) && item.DateTimeReceived < snapshotDate)))
{
item.Delete(DeleteMode.HardDelete);
}
应删除
ItemClass
为“ IPM.Note.EnterpriseVault。快捷方式”的所有项目ItemClass
不在Id
的existingIds
列表中的MessageId
为“ IPM.Appointment”的任何项目,除非它们在`snapshotDate之后收到”>ConversationId
不在列表中的任何其他项目,除非在existingIds
之后收到。运行此代码后,用户报告丢失了在snapshotDate
之后收到的一些电子邮件,因此看来我弄错了snapshotDate
语句! :(有人可以告诉我我做错了什么(或者我可以通过分解来更好地理解它的方式)以及这段代码实际上将要完成的工作,以便我可以让用户知道丢失了什么。众所周知,OR很难编写,我认为我在某个地方的括号中犯了一个错误,但是我看不到它。
此代码旨在在邮箱补液后执行清除操作(来自Symantec Enterprise Vault)。我们在...