internal override void Recover(DefaultFolder defaultFolder, Exception e, ref DefaultFolderData defaultFolderData) { if (defaultFolderData.FolderId != null) { using (Folder folder = Folder.Bind(defaultFolder.Session, defaultFolderData.FolderId)) { defaultFolder.SetProperties(folder); } } }
internal override void Recover(DefaultFolder defaultFolder, Exception e, ref DefaultFolderData defaultFolderData) { if (e is DefaultFolderPropertyValidationException && defaultFolderData.FolderId != null) { using (Folder folder = Folder.Bind(defaultFolder.Session, defaultFolderData.FolderId)) { defaultFolder.SetProperties(folder); } return; } COWSettings cowsettings = new COWSettings(defaultFolder.Session); if (cowsettings.HoldEnabled()) { CorruptDataRecoveryStrategy.Throw.Recover(defaultFolder, e, ref defaultFolderData); return; } CorruptDataRecoveryStrategy.Recreate.Recover(defaultFolder, e, ref defaultFolderData); }