From 07260d48ae3f1543ea73622366ba5f187f941b6d Mon Sep 17 00:00:00 2001 From: dev_amdtel Date: Wed, 29 Oct 2014 02:49:47 +0300 Subject: [PATCH] Exchange fix : deleting public folders when delete an organization --- .../ExchangeServer/ExchangeServerController.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs index 530a56d2..2b3fef03 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs @@ -586,6 +586,7 @@ namespace WebsitePanel.EnterpriseServer List acceptedDomains = GetOrganizationDomains(itemId); int exchangeServiceId = GetExchangeServiceID(org.PackageId); + ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); bool successful = exchange.DeleteOrganization( @@ -599,6 +600,18 @@ namespace WebsitePanel.EnterpriseServer org.AddressBookPolicy, acceptedDomains.ToArray()); + // delete public folders + if (successful) + { + List folders = GetAccounts(itemId, ExchangeAccountType.PublicFolder); + folders.Sort(delegate(ExchangeAccount f1, ExchangeAccount f2) { return f2.AccountId.CompareTo(f1.AccountId);}); + + foreach(ExchangeAccount folder in folders) + DeletePublicFolder(itemId, folder.AccountId); + + exchange.DeletePublicFolder(org.OrganizationId, "\\" + org.OrganizationId); + } + return successful ? 0 : BusinessErrorCodes.ERROR_EXCHANGE_DELETE_SOME_PROBLEMS; }