Пример #1
0
        private static string GetDefaultPage(string pageName, string alternatePageName, string defaultValue)
        {
            if (string.IsNullOrEmpty(pageName) && string.IsNullOrEmpty(alternatePageName))
            {
                throw new ArgumentNullException("pageName & alternatePageName");
            }
            try
            {
                string result = string.Empty;

                IHxIndex namedUrlIndex =
                    (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", "", ref IndexGuid);
                IHxTopicList topics = namedUrlIndex.GetTopicsFromString(pageName, 0);

                if (topics.Count == 0 && !string.IsNullOrEmpty(alternatePageName))
                {
                    topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0);
                }

                if (topics.Count > 0)
                {
                    result = topics.ItemAt(1).URL;
                }
                if (string.IsNullOrEmpty(result))
                {
                    result = defaultValue;
                }

                return(result);
            }
            catch (System.Runtime.InteropServices.COMException)
            {
                return(defaultValue);
            }
        }
Пример #2
0
        public static IHxTopicList GetMatchingTopicsForDynamicHelp(string searchTerm)
        {
            if (dynamicHelpIsBusy || dynamicHelp == null || string.IsNullOrEmpty(searchTerm))
            {
                return(null);
            }
            IHxTopicList topics;

            try
            {
                dynamicHelpIsBusy = true;
                topics            = dynamicHelp.GetTopicsFromString(searchTerm, 0);
                LoggingService.Info("Help 2.0: Dynamic Help called");
            }
            catch (System.Runtime.InteropServices.COMException)
            {
                LoggingService.Error("Help 2.0: Dynamic Help search failed");
                topics = null;
            }
            finally
            {
                dynamicHelpIsBusy = false;
            }
            return(topics);
        }