private void MainWindowOnClosing(object sender, CancelEventArgs cancelEventArgs) { using (var session = DocumentStore.OpenSession()) { var settings = session.Query<ApplicationSettings>().FirstOrDefault(); if (settings == null) { settings = new ApplicationSettings(); } var mainWindow = Application.Current.MainWindow; settings.WindowHeight = mainWindow.ActualHeight; settings.WindowWidth = mainWindow.ActualWidth; settings.WindowLeft = mainWindow.Left; settings.WindowTop = mainWindow.Top; settings.Culture = LocalizeDictionary.Instance.Culture.ToString(); session.Store(settings); session.SaveChanges(); } }
private void ExecuteFinish() { try { using (var session = DocumentStore.OpenSession()) { var settings = session.Query<ApplicationSettings>().FirstOrDefault(); if (settings == null) { settings = new ApplicationSettings(); } settings.FirstTimeWizardRun = true; session.Store(settings); session.SaveChanges(); } } catch (Exception e) { Logger.Log(e.Message, Category.Exception, Priority.Medium); } RegionManager.RequestNavigate(AppRegions.MainRegion, typeof(MainView).FullName); RegionManager.RequestNavigate(AppRegions.ViewRegion, typeof(StationsView).FullName); }
public void Initialize() { bool displayWizard; using (var session = DocumentStore.OpenSession()) { var settings = session.Query<ApplicationSettings>().FirstOrDefault(); if (settings == null) { settings = new ApplicationSettings(); session.Store(settings); session.SaveChanges(); } displayWizard = !settings.FirstTimeWizardRun; if (!string.IsNullOrEmpty(settings.Culture)) { LocalizeDictionary.Instance.Culture = CultureInfo.GetCultureInfo(settings.Culture); } else { LocalizeDictionary.Instance.Culture = CultureInfo.GetCultureInfo("en"); } if (settings.AccentColor.HasValue) { ModifyAccentColor(settings.AccentColor.GetValueOrDefault()); } } RegionManager.RegisterViewWithRegion(AppRegions.MainRegion, typeof(MainView)); RegionManager.RegisterViewWithRegion(AppRegions.BottomRegion, typeof(ControlsView)); RegionManager.RegisterViewWithRegion(AppRegions.ViewRegion, typeof(SettingsView)); RegionManager.RegisterViewWithRegion(AppRegions.ViewRegion, typeof(StationsView)); RegionManager.Regions[AppRegions.ViewRegion].NavigationService.Navigating += OnViewRegionNavigating; if (displayWizard) { RegionManager.RequestNavigate(AppRegions.MainRegion, typeof(FirstTimeUseView).FullName); } else { RegionManager.RequestNavigate(AppRegions.MainRegion, typeof(MainView).FullName); RegionManager.RequestNavigate(AppRegions.ViewRegion, typeof(StationsView).FullName); } foreach (var startable in Startables) { startable.Start(); } AppDomain.CurrentDomain.ProcessExit += CurrentDomainOnProcessExit; }