public static Dictionary <Guid, StoreTagData> Deserialize(UserConfiguration configItem, IExchangePrincipal mailboxOwner, out List <Guid> deletedTags, out bool fullCrawlRequired) { RetentionHoldData retentionHoldData; Dictionary <Guid, StoreTagData> dictionary; return(MrmFaiFormatter.Deserialize(configItem, mailboxOwner, out deletedTags, out retentionHoldData, false, out dictionary, out fullCrawlRequired)); }
internal static Dictionary <Guid, StoreTagData> Deserialize(UserConfiguration configItem, IExchangePrincipal mailboxOwner) { List <Guid> list; RetentionHoldData retentionHoldData; Dictionary <Guid, StoreTagData> dictionary; bool flag; return(MrmFaiFormatter.Deserialize(configItem, mailboxOwner, out list, out retentionHoldData, false, out dictionary, out flag)); }
internal static Dictionary <Guid, StoreTagData> Deserialize(byte[] xmlData, IExchangePrincipal mailboxOwner, out List <Guid> deletedTags, out RetentionHoldData retentionHoldData, bool returnRetentionHoldData, out Dictionary <Guid, StoreTagData> defaultArchiveTagData, out bool fullCrawlRequired) { Dictionary <Guid, StoreTagData> result; using (Stream stream = new MemoryStream(xmlData)) { result = MrmFaiFormatter.Deserialize(stream, mailboxOwner, out deletedTags, out retentionHoldData, returnRetentionHoldData, out defaultArchiveTagData, out fullCrawlRequired); } return(result); }
internal static Dictionary <Guid, StoreTagData> Deserialize(UserConfiguration configItem, IExchangePrincipal mailboxOwner, out List <Guid> deletedTags, out RetentionHoldData retentionHoldData, bool returnRetentionHoldData, out Dictionary <Guid, StoreTagData> defaultArchiveTagData, out bool fullCrawlRequired) { Dictionary <Guid, StoreTagData> result; using (Stream xmlStream = configItem.GetXmlStream()) { result = MrmFaiFormatter.Deserialize(xmlStream, mailboxOwner, out deletedTags, out retentionHoldData, returnRetentionHoldData, out defaultArchiveTagData, out fullCrawlRequired); } return(result); }
private static void GetDefaultPolicyInfo(MailboxSession mailboxSession, MessageItem messageItem, object compactDefaultPolicy, out Guid defaultGuid, out int periodInStartDateEtc) { defaultGuid = Guid.Empty; periodInStartDateEtc = 0; Guid guid = Guid.Empty; Guid guid2 = Guid.Empty; if (compactDefaultPolicy != null & compactDefaultPolicy is byte[]) { Dictionary <Guid, StoreTagData> dictionary = MrmFaiFormatter.Deserialize(compactDefaultPolicy as byte[], mailboxSession.MailboxOwner); List <ElcPolicySettings> list = new List <ElcPolicySettings>(); Dictionary <string, ContentSetting> itemClassToPolicyMapping = new Dictionary <string, ContentSetting>(); foreach (StoreTagData storeTagData in dictionary.Values) { if (storeTagData.Tag.Type == ElcFolderType.All) { foreach (ContentSetting contentSetting in storeTagData.ContentSettings.Values) { ElcPolicySettings.ParseContentSettings(list, contentSetting); if (contentSetting.MessageClass.Equals(ElcMessageClass.AllMailboxContent, StringComparison.CurrentCultureIgnoreCase)) { guid2 = storeTagData.Tag.RetentionId; } else if (contentSetting.MessageClass.Equals(ElcMessageClass.VoiceMail, StringComparison.CurrentCultureIgnoreCase)) { guid = storeTagData.Tag.RetentionId; } } } } string effectiveItemClass = ElcPolicySettings.GetEffectiveItemClass(messageItem.ClassName); if (effectiveItemClass.StartsWith(ElcMessageClass.VoiceMail.TrimEnd(new char[] { '*' }), StringComparison.OrdinalIgnoreCase) && !guid.Equals(Guid.Empty)) { defaultGuid = guid; } else if (!guid2.Equals(Guid.Empty)) { defaultGuid = guid2; } ContentSetting applyingPolicy = ElcPolicySettings.GetApplyingPolicy(list, messageItem.ClassName, itemClassToPolicyMapping); if (applyingPolicy != null && applyingPolicy.RetentionEnabled && applyingPolicy.AgeLimitForRetention != null) { periodInStartDateEtc = (int)applyingPolicy.AgeLimitForRetention.Value.TotalDays; return; } if (applyingPolicy == null) { defaultGuid = Guid.Empty; } } }
internal static Dictionary <Guid, StoreTagData> Deserialize(byte[] propertyBytes, IExchangePrincipal mailboxOwner) { Dictionary <Guid, StoreTagData> result; using (Stream stream = new MemoryStream(propertyBytes)) { List <Guid> list; RetentionHoldData retentionHoldData; Dictionary <Guid, StoreTagData> dictionary; bool flag; result = MrmFaiFormatter.Deserialize(stream, mailboxOwner, out list, out retentionHoldData, false, out dictionary, out flag); } return(result); }