Пример #1
0
        public void CloseAllPages(object sender, RoutedEventArgs e)
        {
            Logging.ToLog("MainWindow - закрытие всех страниц");

            try {
                while (FrameMain.NavigationService.CanGoBack)
                {
                    FrameMain.NavigationService.GoBack();
                    FrameMain.NavigationService.RemoveBackEntry();
                }
            } catch (Exception exc) {
                Logging.ToLog(exc.Message + Environment.NewLine + exc.StackTrace);
            }

            if (!(FrameMain.Content is PageRangeSelection))
            {
                FrameMain.NavigationService.Navigate(rootPage);
            }

            if (ItemSurveyResult.Instance.NeedToWriteToDb)
            {
                ItemSurveyResult.WriteSurveyResultToDb();
            }

            autoCloseTimer.Stop();
            GC.Collect();
        }
Пример #2
0
        private void AutoCloseTimer_Tick(object sender, EventArgs e)
        {
            infoPageCloseCounter++;

            if (FrameMain.Content is PageServices ||
                FrameMain.Content is PageSchedule)
            {
                if (infoPageCloseCounter < Services.Config.Instance.AutoCloseTImerInfoPageMultiplier)
                {
                    return;
                }
            }

            Logging.ToLog("MainWindow - Автозакрытие страницы по таймеру");

            if (ItemSurveyResult.Instance.NeedToWriteToDb)
            {
                if (FrameMain.Content is PageCallback)
                {
                    ItemSurveyResult.Instance.SetPhoneNumber("Timeout");
                }
                else if (FrameMain.Content is PageComment)
                {
                    ItemSurveyResult.Instance.SetComment("Timeout");
                }

                ItemSurveyResult.WriteSurveyResultToDb();
            }

            CloseAllPages(null, null);
        }