Example #1
0
        private void GoToNextTip()
        {
            // If the current tip is not the last tip in the tip history, then go to the next tip in the tip history that exists.
            List <string> tipHistory = _tipHistoryManager.GetTipHistory();

            // Is there a tip later in the history than the current tip?
            var     currentTipIndex  = tipHistory.LastIndexOf(currentTip); // Use LastIndexOf for performance as it will normally be towards the end of the list.
            TipInfo nextTipInHistory = GetNextTipInHistory(tipHistory, currentTipHistoryIndex: currentTipIndex);

            if (nextTipInHistory != null)
            {
                // Navigate to the next tip in history.
                NavigateToTip(nextTipInHistory, markAsSeen: false);
                return;
            }

            // There are no more tips to show from the history. Find a new tip.
            TipInfo nextTip = TipOfTheDay.GetNewTip();
            var     success = NavigateToTip(nextTip, markAsSeen: true);

            if (!success)
            {
                // Failed to show next tip. Close window.
                Close();
            }
        }
Example #2
0
        private void GoToNextTip()
        {
            // If there's a next tip in the Tip History, show that. Otherwise, grab a new tip.
            TipInfo        nextTip;
            TipHistoryInfo nextTipInHistory = FindNextTipInHistory();

            if (nextTipInHistory != null)
            {
                // Build a TipInfo object to show in the UI
                nextTip = BuildTipInfoFromHistory(nextTipInHistory);
            }
            else
            {
                // Generate a new Tip to show. Set the LikeStatus to NORMAL.
                nextTip = TipOfTheDay.GetNewTip();
                nextTip.TipLikeStatus = TipLikeEnum.NORMAL;
            }

            // Show the tip
            NavigateToTip(nextTip);
        }