internal static QuotaMessageType ConvertToInternal(QuotaMessageType quotaType)
        {
            switch (quotaType)
            {
            case QuotaMessageType.WarningMailboxUnlimitedSize:
                return(QuotaMessageType.WarningMailboxUnlimitedSize);

            case QuotaMessageType.WarningPublicFolderUnlimitedSize:
                return(QuotaMessageType.WarningPublicFolderUnlimitedSize);

            case QuotaMessageType.WarningMailbox:
                return(QuotaMessageType.WarningMailbox);

            case QuotaMessageType.WarningPublicFolder:
                return(QuotaMessageType.WarningPublicFolder);

            case QuotaMessageType.ProhibitSendMailbox:
                return(QuotaMessageType.ProhibitSendMailbox);

            case QuotaMessageType.ProhibitPostPublicFolder:
                return(QuotaMessageType.ProhibitPostPublicFolder);

            case QuotaMessageType.ProhibitSendReceiveMailBox:
                return(QuotaMessageType.ProhibitSendReceiveMailBox);

            case QuotaMessageType.WarningMailboxMessagesPerFolderCount:
                return(QuotaMessageType.WarningMailboxMessagesPerFolderCount);

            case QuotaMessageType.ProhibitReceiveMailboxMessagesPerFolderCount:
                return(QuotaMessageType.ProhibitReceiveMailboxMessagesPerFolderCount);

            case QuotaMessageType.WarningFolderHierarchyChildrenCount:
                return(QuotaMessageType.WarningFolderHierarchyChildrenCount);

            case QuotaMessageType.ProhibitReceiveFolderHierarchyChildrenCountCount:
                return(QuotaMessageType.ProhibitReceiveFolderHierarchyChildrenCountCount);

            case QuotaMessageType.WarningMailboxMessagesPerFolderUnlimitedCount:
                return(QuotaMessageType.WarningMailboxMessagesPerFolderUnlimitedCount);

            case QuotaMessageType.WarningFolderHierarchyChildrenUnlimitedCount:
                return(QuotaMessageType.WarningFolderHierarchyChildrenUnlimitedCount);

            case QuotaMessageType.WarningFolderHierarchyDepth:
                return(QuotaMessageType.WarningFolderHierarchyDepth);

            case QuotaMessageType.ProhibitReceiveFolderHierarchyDepth:
                return(QuotaMessageType.ProhibitReceiveFolderHierarchyDepth);

            case QuotaMessageType.WarningFolderHierarchyDepthUnlimited:
                return(QuotaMessageType.WarningFolderHierarchyDepthUnlimited);

            case QuotaMessageType.WarningFoldersCount:
                return(QuotaMessageType.WarningFoldersCount);

            case QuotaMessageType.ProhibitReceiveFoldersCount:
                return(QuotaMessageType.ProhibitReceiveFoldersCount);

            case QuotaMessageType.WarningFoldersCountUnlimited:
                return(QuotaMessageType.WarningFoldersCountUnlimited);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public static QuotaLocalizedTexts GetQuotaLocalizedTexts(QuotaMessageType quotaMessageType, string folderName, string currentSize, bool isPrimaryMailbox)
        {
            switch (quotaMessageType)
            {
            case QuotaMessageType.WarningMailboxUnlimitedSize:
                if (!isPrimaryMailbox)
                {
                    return(new QuotaLocalizedTexts(SystemMessages.ArchiveQuotaWarningNoLimitSubject, SystemMessages.ArchiveQuotaWarningNoLimitTopText(currentSize), SystemMessages.ArchiveQuotaWarningNoLimitDetails));
                }
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningNoLimitSubject, SystemMessages.QuotaWarningNoLimitTopText(currentSize), SystemMessages.QuotaWarningNoLimitDetails));

            case QuotaMessageType.WarningPublicFolderUnlimitedSize:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningNoLimitSubjectPF, SystemMessages.QuotaWarningNoLimitTopTextPF(folderName, currentSize), SystemMessages.QuotaWarningNoLimitDetailsPF));

            case QuotaMessageType.WarningMailbox:
                if (!isPrimaryMailbox)
                {
                    return(QuotaLocalizedTexts.archiveQuotaWarningTexts);
                }
                return(QuotaLocalizedTexts.quotaWarningTexts);

            case QuotaMessageType.WarningPublicFolder:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningSubjectPF, SystemMessages.QuotaWarningTopTextPF(folderName), SystemMessages.QuotaWarningDetailsPF));

            case QuotaMessageType.ProhibitSendMailbox:
                return(QuotaLocalizedTexts.quotaSendTexts);

            case QuotaMessageType.ProhibitPostPublicFolder:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaSendSubjectPF, SystemMessages.QuotaSendTopTextPF(folderName), SystemMessages.QuotaSendDetailsPF));

            case QuotaMessageType.ProhibitSendReceiveMailBox:
                if (!isPrimaryMailbox)
                {
                    return(QuotaLocalizedTexts.archiveQuotaFullTexts);
                }
                return(QuotaLocalizedTexts.quotaSendReceiveTexts);

            case QuotaMessageType.WarningMailboxMessagesPerFolderCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningMailboxMessagesPerFolderCountSubject, SystemMessages.QuotaWarningMailboxMessagesPerFolderCountTopText(folderName, currentSize), SystemMessages.QuotaWarningMailboxMessagesPerFolderCountDetails));

            case QuotaMessageType.ProhibitReceiveMailboxMessagesPerFolderCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaProhibitReceiveMailboxMessagesPerFolderCountSubject, SystemMessages.QuotaProhibitReceiveMailboxMessagesPerFolderCountTopText(folderName, currentSize), SystemMessages.QuotaProhibitReceiveMailboxMessagesPerFolderCountDetails));

            case QuotaMessageType.WarningFolderHierarchyChildrenCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFolderHierarchyChildrenCountSubject, SystemMessages.QuotaWarningFolderHierarchyChildrenCountTopText(folderName, currentSize), SystemMessages.QuotaWarningFolderHierarchyChildrenCountDetails));

            case QuotaMessageType.ProhibitReceiveFolderHierarchyChildrenCountCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaProhibitReceiveFolderHierarchyChildrenCountSubject, SystemMessages.QuotaProhibitReceiveFolderHierarchyChildrenCountTopText(folderName, currentSize), SystemMessages.QuotaProhibitReceiveFolderHierarchyChildrenCountDetails));

            case QuotaMessageType.WarningMailboxMessagesPerFolderUnlimitedCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningMailboxMessagesPerFolderNoLimitSubject, SystemMessages.QuotaWarningMailboxMessagesPerFolderNoLimitTopText(folderName, currentSize), SystemMessages.QuotaWarningMailboxMessagesPerFolderNoLimitDetails));

            case QuotaMessageType.WarningFolderHierarchyChildrenUnlimitedCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFolderHierarchyChildrenNoLimitSubject, SystemMessages.QuotaWarningFolderHierarchyChildrenNoLimitTopText(folderName, currentSize), SystemMessages.QuotaWarningFolderHierarchyChildrenNoLimitDetails));

            case QuotaMessageType.WarningFolderHierarchyDepth:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFolderHierarchyDepthSubject, SystemMessages.QuotaWarningFolderHierarchyDepthTopText(folderName, currentSize), SystemMessages.QuotaWarningFolderHierarchyDepthDetails));

            case QuotaMessageType.ProhibitReceiveFolderHierarchyDepth:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaProhibitReceiveFolderHierarchyDepthSubject, SystemMessages.QuotaProhibitReceiveFolderHierarchyDepthTopText(folderName, currentSize), SystemMessages.QuotaProhibitReceiveFolderHierarchyDepthDetails));

            case QuotaMessageType.WarningFolderHierarchyDepthUnlimited:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFolderHierarchyDepthNoLimitSubject, SystemMessages.QuotaWarningFolderHierarchyDepthNoLimitTopText(folderName, currentSize), SystemMessages.QuotaWarningFolderHierarchyDepthNoLimitDetails));

            case QuotaMessageType.WarningFoldersCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFoldersCountSubject, SystemMessages.QuotaWarningFoldersCountTopText(currentSize), SystemMessages.QuotaWarningFoldersCountDetails));

            case QuotaMessageType.ProhibitReceiveFoldersCount:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaProhibitReceiveFoldersCountSubject, SystemMessages.QuotaProhibitReceiveFoldersCountTopText(currentSize), SystemMessages.QuotaProhibitReceiveFoldersCountDetails));

            case QuotaMessageType.WarningFoldersCountUnlimited:
                return(new QuotaLocalizedTexts(SystemMessages.QuotaWarningFoldersCountNoLimitSubject, SystemMessages.QuotaWarningFoldersCountNoLimitTopText(currentSize), SystemMessages.QuotaWarningFoldersCountNoLimitDetails));

            default:
                throw new NotSupportedException("quotaMessageType invalid");
            }
        }