Пример #1
0
        public static bool IsTenantQuotaEnded(this MailBox mailbox, long minBalance, ILogger log = null)
        {
            var quotaEnded = false;

            log = log ?? new NullLogger();

            try
            {
                var quotaController = new TennantQuotaController(mailbox.TenantId);
                var quota           = CoreContext.TenantManager.GetTenantQuota(mailbox.TenantId);
                var usedQuota       = quotaController.QuotaCurrentGet();
                quotaEnded = quota.MaxTotalSize - usedQuota < minBalance;
                log.Debug("IsTenantQuotaEnded: {0} Tenant = {1}. Tenant quota = {2}Mb ({3}), used quota = {4}Mb ({5}) ",
                          quotaEnded,
                          mailbox.TenantId,
                          MailUtil.BytesToMegabytes(quota.MaxTotalSize), quota.MaxTotalSize,
                          MailUtil.BytesToMegabytes(usedQuota), usedQuota);
            }
            catch (Exception ex)
            {
                log.Error("IsQuotaExhausted(Tenant={0}) Exception: {1}", mailbox.TenantId, ex.Message);
            }

            return(quotaEnded);
        }
 public void QuotaUsedDelete(int tenant, long usedQuota)
 {
     try
     {
         var quotaController = new TennantQuotaController(tenant);
         quotaController.QuotaUsedDelete(Defines.MODULE_NAME, string.Empty, DATA_TAG, usedQuota);
     }
     catch (Exception ex)
     {
         _log.Error(ex, "QuotaUsedDelete with params: tenant={0}, used_quota={1}", tenant, usedQuota);
         throw;
     }
 }
 private void QuotaUsedAdd(int tenant, long used_quota)
 {
     try
     {
         var quota_controller = new TennantQuotaController(tenant);
         quota_controller.QuotaUsedAdd(Defines.ModuleName, string.Empty, DATA_TAG, used_quota);
     }
     catch (Exception ex)
     {
         _log.Error(ex, "QuotaUsedAdd with params: tenant={0}, used_quota={1}", tenant, used_quota);
         throw;
     }
 }
        private void QuotaUsedAdd(int tenant, long usedQuota)
        {
            try
            {
                var quotaController = new TennantQuotaController(tenant);
                quotaController.QuotaUsedAdd(Defines.MODULE_NAME, string.Empty, DATA_TAG, usedQuota);
            }
            catch (Exception ex)
            {
                _log.Error(string.Format("QuotaUsedAdd with params: tenant={0}, used_quota={1}", tenant, usedQuota), ex);

                throw;
            }
        }
Пример #5
0
        public void QuotaUsedDelete(long usedQuota)
        {
            try
            {
                var quotaController = new TennantQuotaController(Tenant);
                quotaController.QuotaUsedDelete(Defines.MODULE_NAME, string.Empty, Defines.MAIL_QUOTA_TAG, usedQuota);
            }
            catch (Exception ex)
            {
                Log.Error(string.Format("QuotaUsedDelete with params: tenant={0}, used_quota={1}", Tenant, usedQuota), ex);

                throw;
            }
        }
Пример #6
0
        public static bool IsTenantQuotaEnded(this MailBox mailbox, long minBalance, ILogger log = null)
        {
            var result = false;

            log = log ?? new NullLogger();

            try
            {
                var quotaController = new TennantQuotaController(mailbox.TenantId);
                var quota           = CoreContext.TenantManager.GetTenantQuota(mailbox.TenantId);
                var usedQuota       = quotaController.QuotaCurrentGet();
                log.Debug("Tenant = {0}. Tenant quota = {1}Mb ({2}), used quota = {3}Mb ({4})", mailbox.TenantId,
                          MailUtil.BytesToMegabytes(quota.MaxTotalSize), quota.MaxTotalSize, MailUtil.BytesToMegabytes(usedQuota), usedQuota);
                result = quota.MaxTotalSize - usedQuota < minBalance;
            }
            catch (Exception ex)
            {
                log.Error("IsQuotaExhausted with param tenant={0} Exception:\r\n{0}\r\n", mailbox.TenantId, ex.ToString());
            }

            return(result);
        }
Пример #7
0
        private static void QuotaUsedDelete(int tenant, long used_quota)
        {
            var quota_controller = new TennantQuotaController(tenant);

            quota_controller.QuotaUsedDelete(MODULE_NAME, string.Empty, DATA_TAG, used_quota);
        }