Пример #1
0
        private LocalizedString ValidateSettings(AutoAttendantSettings aa, AASettingsEnum settings, string operatorExtension)
        {
            string text = (settings == AASettingsEnum.BusinessHourSettings) ? "BusinessHours" : "AfterHours";

            if (aa.WelcomeGreetingEnabled && string.IsNullOrEmpty(aa.WelcomeGreetingFilename))
            {
                return(DirectoryStrings.InvalidAutoAttendantSetting(text + "WelcomeGreetingEnabled", text + "WelcomeGreetingFilename"));
            }
            if (!string.IsNullOrEmpty(aa.WelcomeGreetingFilename) && !this.VerifyValidCustomGreetingFile(aa.WelcomeGreetingFilename))
            {
                return(DirectoryStrings.InvalidCustomGreetingFilename(text + "WelcomeGreetingFilename"));
            }
            if (aa.MainMenuCustomPromptEnabled && string.IsNullOrEmpty(aa.MainMenuCustomPromptFilename))
            {
                return(DirectoryStrings.InvalidAutoAttendantSetting(text + "MainMenuCustomPromptEnabled", text + "MainMenuCustomPromptFilename"));
            }
            if (!string.IsNullOrEmpty(aa.MainMenuCustomPromptFilename) && !this.VerifyValidCustomGreetingFile(aa.MainMenuCustomPromptFilename))
            {
                return(DirectoryStrings.InvalidCustomGreetingFilename(text + "MainMenuCustomPromptFilename"));
            }
            if (aa.KeyMappingEnabled && (aa.KeyMapping == null || aa.KeyMapping.Length == 0))
            {
                return(DirectoryStrings.InvalidAutoAttendantSetting(text + "KeyMappingEnabled", text + "KeyMapping"));
            }
            if (aa.KeyMapping != null && aa.KeyMapping.Length > 10)
            {
                return(DirectoryStrings.TooManyKeyMappings(text));
            }
            return(LocalizedString.Empty);
        }
        private static AutoAttendantSettings GetAASettingsFromPropertyBag(IPropertyBag propertyBag, AASettingsEnum settingsType)
        {
            ADPropertyDefinition propertyDefinition = (settingsType == AASettingsEnum.BusinessHourSettings) ? UMAutoAttendantSchema.BusinessHourFeatures : UMAutoAttendantSchema.AfterHourFeatures;
            string text = (string)propertyBag[propertyDefinition];

            if (string.IsNullOrEmpty(text))
            {
                return(new AutoAttendantSettings());
            }
            return(AutoAttendantSettings.FromXml(text));
        }