From 12b1a0816807deb6b1beb9b5d6f405414780a837 Mon Sep 17 00:00:00 2001 From: dev_amdtel Date: Thu, 29 May 2014 03:38:34 +0400 Subject: [PATCH] fix wsp-10243 Exchange 2010 - Retention policy errors --- .../ExchangeServerController.cs | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs index 33c7b302..78b63d5b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs @@ -3372,26 +3372,29 @@ namespace WebsitePanel.EnterpriseServer ExchangeMailboxPlan policy = GetExchangeMailboxPlan(itemID, policyId); - List policytaglist = GetExchangeMailboxPlanRetentionPolicyTags(policyId); - - List tagLinks = new List(); - - foreach (ExchangeMailboxPlanRetentionPolicyTag policytag in policytaglist) + if (policy != null) { - ExchangeRetentionPolicyTag tag = GetExchangeRetentionPolicyTag(itemID, policytag.TagID); - tagLinks.Add(tag.WSPUniqueName); + List policytaglist = GetExchangeMailboxPlanRetentionPolicyTags(policyId); - // update PlanRetentionPolicyTags + List tagLinks = new List(); - ResultObject resItem = exchange.SetRetentionPolicyTag(tag.WSPUniqueName, (ExchangeRetentionPolicyTagType)tag.TagType, tag.AgeLimitForRetention, (ExchangeRetentionPolicyTagAction)tag.RetentionAction); - result.ErrorCodes.AddRange(resItem.ErrorCodes); - result.IsSuccess = result.IsSuccess && resItem.IsSuccess; + foreach (ExchangeMailboxPlanRetentionPolicyTag policytag in policytaglist) + { + ExchangeRetentionPolicyTag tag = GetExchangeRetentionPolicyTag(itemID, policytag.TagID); + tagLinks.Add(tag.WSPUniqueName); + + // update PlanRetentionPolicyTags + + ResultObject resItem = exchange.SetRetentionPolicyTag(tag.WSPUniqueName, (ExchangeRetentionPolicyTagType)tag.TagType, tag.AgeLimitForRetention, (ExchangeRetentionPolicyTagAction)tag.RetentionAction); + result.ErrorCodes.AddRange(resItem.ErrorCodes); + result.IsSuccess = result.IsSuccess && resItem.IsSuccess; + } + + ResultObject res = exchange.SetRetentionPolicy(policy.WSPUniqueName, tagLinks.ToArray()); + result.ErrorCodes.AddRange(res.ErrorCodes); + result.IsSuccess = result.IsSuccess && res.IsSuccess; } - ResultObject res = exchange.SetRetentionPolicy(policy.WSPUniqueName, tagLinks.ToArray()); - result.ErrorCodes.AddRange(res.ErrorCodes); - result.IsSuccess = result.IsSuccess && res.IsSuccess; - } }