Beispiel #1
0
        private async void App_OnStartup(object sender, StartupEventArgs e)
        {
            this.CheckBeforeStartup();

            if (!this._isReadyForStartup)
            {
                XemsMsgBox.Show("Unable to start");
                return;
            }

            if (string.IsNullOrEmpty(XemsUser.Default.RefreshToken) ||
                string.IsNullOrEmpty(XemsUser.Default.Username))
            {
                new SignInWindow().Show();
            }
            else
            {
                try
                {
                    var status = await this._tokenProvider
                                 .CheckRefreshTokenAsync(XemsUser.Default.RefreshToken);

                    if (status == TokenStatus.Error)
                    {
                        new SignInWindow().Show();
                        return;
                    }

                    var userResponse = await this._usersApiClient
                                       .GetUserByUsernameAsync(XemsUser.Default.Username);

                    if (userResponse.ResponseStatus != ResponseStatus.Success || userResponse.Data == null)
                    {
                        new SignInWindow().Show();
                        return;
                    }

                    var user = userResponse.Data;

                    XemsUser.Default.Username       = user.Username;
                    XemsUser.Default.CurrentProfile = user.CurrentProfileType;
                    XemsUser.Default.FirstName      = user.FirstName;
                    XemsUser.Default.LastName       = user.LastName;
                    XemsUser.Default.Id             = user.Id;
                    XemsUser.Default.Save();

                    new MainWindow().Show();
                }
                catch (Exception)
                {
                    XemsMsgBox.Show("Unknown error");
                }
            }
        }
Beispiel #2
0
        private void App_OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
        {
            e.Handled = true;

            XemsMsgBox.Show("Unknown error");
        }