void mnuOfflineMode_Click(object sender, EventArgs e)
 {
     if (ApplicationState.Current.IsOffline)
     {
         BuildApplicationBar();
         login();
     }
     else
     {
         ApplicationState.Current.SaveState(false);
         ApplicationState.GoToOfflineMode();
     }
     updateOfflineGuid();
 }
Exemple #2
0
        private void goToOffline(bool automatic)
        {
            showProgress(true, true);
            progressBar.ShowProgress(true, ApplicationStrings.Login_ProgressOfflineModeStart);
            ThreadPool.QueueUserWorkItem(delegate
            {
                try
                {
                    ApplicationState.GoToOfflineMode();

                    Deployment.Current.Dispatcher.BeginInvoke(delegate
                    {
                        progressBar.ShowProgress(false);

                        onLoggingChanged();
                        if (!Settings.InfoOfflineMode)
                        {
                            Settings.InfoOfflineMode = true;
                            BAMessageBox.ShowInfo(ApplicationStrings.MessageOfflineModeDescription);
                        }
                    });
                }
                catch (InvalidOperationException ex)
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() => showProgress(false, true));
                    if (automatic)
                    {
                        BAMessageBox.ShowError(ApplicationStrings.ErrDuringLogin);
                    }
                    else
                    {
                        BAMessageBox.ShowWarning(ApplicationStrings.Login_ErrGoOffline_MustLoginFirst, true);
                    }
                }
                catch
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() => showProgress(false, true));
                    if (automatic)
                    {
                        BAMessageBox.ShowError(ApplicationStrings.ErrDuringLogin);
                    }
                    else
                    {
                        BAMessageBox.ShowError(ApplicationStrings.Login_ErrGoOfflineMode);
                    }
                }
            });
        }