/// <summary> /// Manage an exception /// </summary> /// <param name="exception">The exception to manage</param> private void ManageException(Exception exception) { if (_isManagingException) { return; } _isManagingException = true; IsMovieFlyoutOpen = false; IsSettingsFlyoutOpen = false; if (exception is WebException || exception is SocketException) { ApplicationState.IsConnectionInError = true; } DispatcherHelper.CheckBeginInvokeOnUI(async() => { var exceptionDialog = new ExceptionDialog( new ExceptionDialogSettings( LocalizationProviderHelper.GetLocalizedValue <string>("EmbarrassingError"), exception.Message)); await _dialogCoordinator.ShowMetroDialogAsync(this, exceptionDialog); await exceptionDialog.WaitForButtonPressAsync(); _isManagingException = false; await _dialogCoordinator.HideMetroDialogAsync(this, exceptionDialog); }); }
/// <summary> /// Manage an exception /// </summary> /// <param name="exception">The exception to manage</param> private void ManageException(Exception exception) { if (_isManagingException) return; _isManagingException = true; IsMovieFlyoutOpen = false; IsSettingsFlyoutOpen = false; if (exception is WebException || exception is SocketException) ApplicationState.IsConnectionInError = true; DispatcherHelper.CheckBeginInvokeOnUI(async () => { var exceptionDialog = new ExceptionDialog( new ExceptionDialogSettings( LocalizationProviderHelper.GetLocalizedValue<string>("EmbarrassingError"), exception.Message)); await _dialogCoordinator.ShowMetroDialogAsync(this, exceptionDialog); await exceptionDialog.WaitForButtonPressAsync(); _isManagingException = false; await _dialogCoordinator.HideMetroDialogAsync(this, exceptionDialog); }); }