示例#1
0
        private void LoginStart(object sender, StartupEventArgs e)
        {
            //Disable shutdown when the dialog closes
            Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;

            // Fetch the user account
            SpikeAccountManager.AccountWindow window = new SpikeAccountManager.AccountWindow();
            bool?result = window.ShowDialog();

            if (result.HasValue && result.Value)
            {
                this.ApplicationStart(sender, e);
            }
            else if (result.HasValue && !result.Value)
            {
                Current.Shutdown(-1);
            }
            else
            {
                MessageBox.Show("Unable to establish a valid login.", "Error", MessageBoxButton.OK);
                Current.Shutdown(-1);
            }
        }
示例#2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);


            // Fetch the user account
            SpikeAccountManager.AccountWindow window = new SpikeAccountManager.AccountWindow();

            try
            {
                bool?result = window.ShowDialog();
                if (result.HasValue && result.Value)
                {
                    // Happy result, do not terminate the application
                    VM.User = window.LoginResponse.Resource;
                }
                else
                {
                    Application.Current.Shutdown(-1);
                }
            }
            catch (SpikeException err)
            {
                MessageBox.Show(err.Message + "\r\nAborting application");
                Application.Current.Shutdown(-1);
            }
            catch (AggregateException ae)
            {
                MessageBox.Show("Fatal error. Aborting application");
                Application.Current.Shutdown(-1);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\nAborting application");
                Application.Current.Shutdown(-1);
            }
        }