Exemplo n.º 1
0
        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]";
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
                    }
                }
            }
        }