コード例 #1
0
        /// <summary>
        /// Checks the new version. This action is delayed of 5 seconds.
        /// </summary>
        public void CheckNewVersion()
        {
            var timer = new DispatcherTimer();

            timer.Interval = TimeSpan.FromSeconds(5);
            timer.Tick    += (sender, e) =>
            {
                try
                {
                    Logger.Debug("Checking new versions...");
                    timer.Stop();
                    var culture         = Thread.CurrentThread.CurrentUICulture;
                    var versionNotifyer = new RemoteService().NewVersionNotifyer();
                    versionNotifyer.Checked += (sender1, e1) =>
                    {
                        if (PluginContext.DbConfiguration.NotifyOnNewVersion)
                        {
                            new UserInteraction(culture)
                            .NotifyNewVersion(e1.RemoteVersion);
                        }
                    };
                    versionNotifyer.Check(PluginContext.Configuration.Version);
                }
                catch (Exception ex)
                {
                    //I swallow because I don't want to see the application crash because of the version check
                    this.Logger.Warn("The version check crashed", ex);
                }
            };
            timer.Start();
        }
コード例 #2
0
        private void DebugCheckNewVersion()
        {
            var culture  = Thread.CurrentThread.CurrentUICulture;
            var notifyer = new RemoteService().NewVersionNotifyer();

            notifyer.Checked += (sender, e) =>
            {
                this.Logger.DebugFormat("Found new version. Current version: {0} - Remote version {1}", e.RemoteVersion, PluginContext.Configuration.Version);
                new UserInteraction(culture).NotifyNewVersion(e.RemoteVersion);
            };
            this.Logger.DebugFormat("Check if there's a newer version. Current is {0}", PluginContext.Configuration.Version);
            notifyer.Check(PluginContext.Configuration.Version);
        }