From e055d56d5f894f64dc4762867fb3114eac909707 Mon Sep 17 00:00:00 2001 From: robvde Date: Thu, 20 Sep 2012 07:29:29 +0400 Subject: [PATCH] Fixed: Old mailbox plan size taken in considearion when setting new mailbox plan --- .../ExchangeServer/ExchangeServerController.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index 9fe58540..d2b3da0e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -2512,10 +2512,22 @@ namespace WebsitePanel.EnterpriseServer } ExchangeMailboxPlan plan = GetExchangeMailboxPlan(itemId, mailboxPlanId); + if (maxDiskSpace != -1) { - if ((quotaUsed + plan.MailboxSizeMB) > (maxDiskSpace)) - return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; + ExchangeAccount exchangeAccount = GetAccount(itemId, accountId); + if (exchangeAccount.MailboxPlanId > 0) + { + ExchangeMailboxPlan oldPlan = GetExchangeMailboxPlan(itemId, exchangeAccount.MailboxPlanId); + + if (((quotaUsed - oldPlan.MailboxSizeMB) + plan.MailboxSizeMB) > (maxDiskSpace)) + return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; + } + else + { + if ((quotaUsed + plan.MailboxSizeMB) > (maxDiskSpace)) + return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; + } } // get mailbox settings