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"); } } }
private void App_OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { e.Handled = true; XemsMsgBox.Show("Unknown error"); }