示例#1
0
        /// <summary>
        /// If an error occurs during navigation, show an error window
        /// </summary>
        private void ContentFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
        {
            e.Handled = true;

            if (_rollBackNav)
            {
                _errorWhileRollback = true;
            }
            else
            {
                ErrorWindow.CreateNew(e.Exception);
            }
        }
示例#2
0
 private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
 {
     // If the app is running outside of the debugger then report the exception using
     // a ChildWindow control.
     if (!System.Diagnostics.Debugger.IsAttached)
     {
         // NOTE: This will allow the application to continue running after an exception has been thrown
         // but not handled.
         // For production applications this error handling should be replaced with something that will
         // report the error to the website and stop the application.
         e.Handled = true;
         ErrorWindow.CreateNew(e.ExceptionObject);
     }
 }
示例#3
0
        private void ContentFrame_Navigating(object sender, NavigatingCancelEventArgs e)
        {
            if (_secureViews.ContainsKey(e.Uri.OriginalString))
            {
                var requiredRole = _secureViews[e.Uri.OriginalString];

                if (e.NavigationMode != NavigationMode.Back && !WebContext.Current.User.IsAuthenticated)
                {
                    ErrorWindow.CreateNew(ApplicationStrings.Main_LoginRequired, StackTracePolicy.Never);
                    e.Cancel = true;
                }
                else if (e.NavigationMode != NavigationMode.Back &&
                         WebContext.Current.User.IsAuthenticated &&
                         !WebContext.Current.User.IsInRole(requiredRole))
                {
                    ErrorWindow.CreateNew(ApplicationStrings.Main_RoleRequired + requiredRole, StackTracePolicy.Never);
                    e.Cancel = true;
                }
            }
        }