private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { //check for any startup actions required such as vault import if (!this.MainViewModel.ManagedSites.Any()) { //if we have a vault, preview import. this.MainViewModel.PreviewImport(sanMergeMode: true); } if (MainViewModel.IsIISAvailable) { if (MainViewModel.ImportedManagedSites.Any()) { //show import ui Task.Delay(100); var d = new Windows.ImportManagedSites { Owner = this }; d.ShowDialog(); } } if (!MainViewModel.IsRegisteredVersion) { this.Title += " [Free Trial Version]"; } }
private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { //check for any startup actions required such as vault import if (MainViewModel.ImportedManagedSites.Any()) { //show import ui Task.Delay(100); var d = new Windows.ImportManagedSites { Owner = this }; d.ShowDialog(); } }
private async Task PerformAppStartupChecks() { Mouse.OverrideCursor = Cursors.AppStarting; MainViewModel.IsLoading = true; await MainViewModel.InitServiceConnections(); if (MainViewModel.IsServiceAvailable) { await MainViewModel.LoadSettingsAsync(); } Mouse.OverrideCursor = Cursors.Arrow; // quit if service/service client cannot connect if (!MainViewModel.IsServiceAvailable) { MainViewModel.IsLoading = false; MessageBox.Show("Certify SSL Manager service is not started. Please restart the service."); App.Current.Shutdown(); return; } //init telemetry if enabled InitTelemetry(); //check version capabilities MainViewModel.PluginManager = new Management.PluginManager(); MainViewModel.PluginManager.LoadPlugins(); var licensingManager = MainViewModel.PluginManager.LicensingManager; if (licensingManager != null) { if (licensingManager.IsInstallRegistered(ViewModel.AppModel.ProductTypeId, Certify.Management.Util.GetAppDataFolder())) { MainViewModel.IsRegisteredVersion = true; } } //check for any startup actions required such as vault import /* if (!this.MainViewModel.ManagedSites.Any()) * { * //if we have a vault, preview import. * this.MainViewModel.PreviewImport(sanMergeMode: true); * }*/ // check if IIS is available, if so also populates IISVersion await MainViewModel.CheckServerAvailability(Models.StandardServerTypes.IIS); MainViewModel.IsLoading = false; if (MainViewModel.IsIISAvailable) { if (MainViewModel.ImportedManagedSites.Any()) { //show import ui var d = new Windows.ImportManagedSites(); d.ShowDialog(); } } else { //warn if IIS not detected MessageBox.Show(SR.MainWindow_IISNotAvailable); } // check if primary contact registered with LE EnsureContactRegistered(); if (!MainViewModel.IsRegisteredVersion) { this.Title += SR.MainWindow_TitleTrialPostfix; } //check for updates and report result to view model if (MainViewModel.IsServiceAvailable) { var updateCheck = await MainViewModel.CertifyClient.CheckForUpdates(); if (updateCheck != null && updateCheck.IsNewerVersion) { MainViewModel.UpdateCheckResult = updateCheck; MainViewModel.IsUpdateAvailable = true; //TODO: move this to UpdateCheckUtils and share with update from About page // if update is mandatory (where there is a major bug etc) quit until user updates if (updateCheck.MustUpdate) { // offer to take user to download page var gotoDownload = MessageBox.Show(updateCheck.Message.Body + "\r\nVisit download page now?", ConfigResources.AppName, MessageBoxButton.YesNo); if (gotoDownload == MessageBoxResult.Yes) { System.Diagnostics.ProcessStartInfo sInfo = new System.Diagnostics.ProcessStartInfo(ConfigResources.AppWebsiteURL); System.Diagnostics.Process.Start(sInfo); } else { MessageBox.Show(SR.Update_MandatoryUpdateQuit); } //quit App.Current.Shutdown(); } } } }