/// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.  The Parameter
        /// property is typically used to configure the page.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            var contentPage = FinansstyringFrame.Content as Page;

            if (contentPage != null)
            {
                return;
            }
            FinansstyringFrame.Navigate(typeof(RegnskabslistePage), null);
        }
        /// <summary>
        /// Eventhandler, der rejses, når eventet til håndtering af exceptions publiceres.
        /// </summary>
        /// <param name="eventArgs">Argumenter fra eventet, der publiceres.</param>
        public void OnEvent(IHandleExceptionEventArgs eventArgs)
        {
            if (eventArgs == null)
            {
                throw new ArgumentNullException("eventArgs");
            }

            var validationException = eventArgs.Error as IntranetGuiValidationException;

            if (validationException != null)
            {
                eventArgs.IsHandled = false;
                return;
            }

            var businessException = eventArgs.Error as IntranetGuiBusinessException;

            if (businessException != null)
            {
                eventArgs.IsHandled = false;
                return;
            }

            var offlineRepositoryException = eventArgs.Error as IntranetGuiOfflineRepositoryException;

            if (offlineRepositoryException != null)
            {
                var finansstyringKonfigurationRepository = FinansstyringKonfigurationRepository.Instance;
                var localeDataStorage = new LocaleDataStorage(finansstyringKonfigurationRepository.LokalDataFil, finansstyringKonfigurationRepository.SynkroniseringDataFil, FinansstyringRepositoryLocale.XmlSchema);
                localeDataStorage.OnHasLocaleData      += LocaleDataStorageHelper.HasLocaleDataEventHandler;
                localeDataStorage.OnCreateReaderStream += LocaleDataStorageHelper.CreateReaderStreamEventHandler;
                localeDataStorage.OnCreateWriterStream += LocaleDataStorageHelper.CreateWriterStreamEventHandler;
                eventArgs.IsHandled = true;

                MainViewModel.SwitchToLocaleDataStorage(new FinansstyringRepositoryLocale(finansstyringKonfigurationRepository, localeDataStorage));

                var contentPage = FinansstyringFrame.Content as Page;
                if (contentPage != null)
                {
                    while (contentPage.Frame.CanGoBack)
                    {
                        contentPage.Frame.GoBack();
                    }
                    return;
                }
                FinansstyringFrame.Navigate(typeof(RegnskabslistePage), null);
            }

            var repositoryException = eventArgs.Error as IntranetGuiRepositoryException;

            if (repositoryException != null)
            {
                Debug.WriteLine("{0}: {1}", repositoryException.GetType().Name, repositoryException.Message);
                eventArgs.IsHandled = true;
                return;
            }

            var systemException = eventArgs.Error as IntranetGuiSystemException;

            if (systemException != null)
            {
                Debug.WriteLine("{0}: {1}", systemException.GetType().Name, systemException.Message);
                eventArgs.IsHandled = true;
                return;
            }

            try
            {
                var exception = eventArgs.Error;
                if (exception == null)
                {
                    return;
                }
                Debug.WriteLine("{0}: {1}", exception.GetType().Name, exception.Message);
            }
            finally
            {
                eventArgs.IsHandled = true;
            }
        }